def property_set sym, val
      oldvalue = instance_variable_get "@#{sym}"
      tmp = val.size == 1 ? val[0] : val
      newvalue = tmp
      if oldvalue.nil? || @_object_created.nil?
        #@#{sym} = tmp
        instance_variable_set "@#{sym}", tmp
      end
      return(self) if oldvalue.nil? || @_object_created.nil?

      if oldvalue != newvalue
        # trying to reduce calls to fire, when object is being created
        begin
          @property_changed = true
          fire_property_change("#{sym}", oldvalue, newvalue) if !oldvalue.nil?
          #@#{sym} = tmp
          instance_variable_set "@#{sym}", tmp
          #@config["#{sym}"]=@#{sym}
        rescue PropertyVetoException
          $log.warn "PropertyVetoException for #{sym}:" + oldvalue.to_s + "->  "+ newvalue.to_s
        end
      end # if old
      self
    end
def property_set sym, val
      oldvalue = instance_variable_get "@#{sym}"
      tmp = val.size == 1 ? val[0] : val
      newvalue = tmp
      if oldvalue.nil? || @_object_created.nil?
        #@#{sym} = tmp
        instance_variable_set "@#{sym}", tmp
      end
      return(self) if oldvalue.nil? || @_object_created.nil?

      if oldvalue != newvalue
        # trying to reduce calls to fire, when object is being created
        begin
          @property_changed = true
          fire_property_change("#{sym}", oldvalue, newvalue) if !oldvalue.nil?
          #@#{sym} = tmp
          instance_variable_set "@#{sym}", tmp
          #@config["#{sym}"]=@#{sym}
        rescue PropertyVetoException
          $log.warn "PropertyVetoException for #{sym}:" + oldvalue.to_s + "->  "+ newvalue.to_s
        end
      end # if old
      self
    end
this is supposed to be a duplicate of what dsl_property generates for cases when
  we need to customise the get portion but not copy the set part. just call this.