def difference(other, attributes=nil)
      attributes ||= self.class.nondomain_attributes
      vh = value_hash(attributes)
      ovh = other.value_hash(attributes)
      vh.diff(ovh) { |key, v1, v2| Resource.value_equal?(v1, v2) }
    end
def difference(other, attributes=nil)
      attributes ||= self.class.nondomain_attributes
      vh = value_hash(attributes)
      ovh = other.value_hash(attributes)
      vh.diff(ovh) { |key, v1, v2| Resource.value_equal?(v1, v2) }
    end
Returns the difference between this Persistable and the other Persistable for the
 given attributes. The default attributes are the {Propertied#nondomain_attributes}.

 @param [Resource] other the domain object to compare
 @param [<Symbol>, nil] attributes the attributes to compare
 @return (see Hasher#diff)