def fire_property_change text, oldvalue, newvalue
        return if @_object_created.nil? #  2018-05-15 - removed check for nil, as object can be nil on creation
                                        # but set later.
        #$log.debug " FPC #{self}: #{text} #{oldvalue}, #{newvalue}"
        $log.debug " FPC #{self}: #{text} "
        if @pce.nil?
          @pce = PropertyChangeEvent.new(self, text, oldvalue, newvalue)
        else
          @pce.set( self, text, oldvalue, newvalue)
        end
        fire_handler :PROPERTY_CHANGE, @pce
        @repaint_required = true 
        repaint_all(true) # for repainting borders, headers etc 2011-09-28 V1.3.1 
      end
def fire_property_change text, oldvalue, newvalue
        return if @_object_created.nil? #  2018-05-15 - removed check for nil, as object can be nil on creation
                                        # but set later.
        #$log.debug " FPC #{self}: #{text} #{oldvalue}, #{newvalue}"
        $log.debug " FPC #{self}: #{text} "
        if @pce.nil?
          @pce = PropertyChangeEvent.new(self, text, oldvalue, newvalue)
        else
          @pce.set( self, text, oldvalue, newvalue)
        end
        fire_handler :PROPERTY_CHANGE, @pce
        @repaint_required = true 
        repaint_all(true) # for repainting borders, headers etc 2011-09-28 V1.3.1 
      end
goes with dsl_property
 Can throw a FieldValidationException or PropertyVetoException