def loadable_attributes
      pas = self.class.loadable_attributes.select { |pa| send(pa).nil_or_empty? }
      ownr_attrs = self.class.owner_attributes
      # If there is an owner, then variant owners are not loaded.
      if ownr_attrs.size > 1 and ownr_attrs.any? { |pa| not send(pa).nil_or_empty? } then
        pas - ownr_attrs
      else
        pas
      end
    end
def loadable_attributes
      pas = self.class.loadable_attributes.select { |pa| send(pa).nil_or_empty? }
      ownr_attrs = self.class.owner_attributes
      # If there is an owner, then variant owners are not loaded.
      if ownr_attrs.size > 1 and ownr_attrs.any? { |pa| not send(pa).nil_or_empty? } then
        pas - ownr_attrs
      else
        pas
      end
    end
Returns the attributes to load on demand. The base attribute list is given by the
 {Propertied#loadable_attributes} whose value is nil or empty.
 In addition, if this Persistable has more than one {Domain::Dependency#owner_attributes}
 and one is non-nil, then none of the owner attributes are loaded on demand,
 since there can be at most one owner and ownership cannot change.

 @return [<Symbol>] the attributes to load on demand