def printworthy_attributes
      if self.class.primary_key_attributes.all? { |pa| !!send(pa) } then
        self.class.primary_key_attributes
      elsif not self.class.secondary_key_attributes.empty? then
        self.class.secondary_key_attributes
      elsif not self.class.nondomain_java_attributes.empty? then
        self.class.nondomain_java_attributes
      else
        self.class.fetched_attributes
      end
    end
def printworthy_attributes
      if self.class.primary_key_attributes.all? { |pa| !!send(pa) } then
        self.class.primary_key_attributes
      elsif not self.class.secondary_key_attributes.empty? then
        self.class.secondary_key_attributes
      elsif not self.class.nondomain_java_attributes.empty? then
        self.class.nondomain_java_attributes
      else
        self.class.fetched_attributes
      end
    end
Returns an attribute => value hash which identifies the object.
 If this object has a complete primary key, than the primary key attributes are returned.
 Otherwise, if there are secondary key attributes, then they are returned.
 Otherwise, if there are nondomain attributes, then they are returned.
 Otherwise, if there are fetched attributes, then they are returned.

 @return [<Symbol] the attributes to print