def fetch_saved?
      # only fetch a create, not an update (note that subclasses can override this condition)
      return false if identifier
      # Check for an attribute with a value that might need to be changed in order to
      # reflect the auto-generated database content.
      ag_attrs = self.class.autogenerated_attributes
      return false if ag_attrs.empty?
      ag_attrs.any? { |pa| not send(pa).nil_or_empty? }
    end
def fetch_saved?
      # only fetch a create, not an update (note that subclasses can override this condition)
      return false if identifier
      # Check for an attribute with a value that might need to be changed in order to
      # reflect the auto-generated database content.
      ag_attrs = self.class.autogenerated_attributes
      return false if ag_attrs.empty?
      ag_attrs.any? { |pa| not send(pa).nil_or_empty? }
    end
Returns whether this domain object must be fetched to reflect the database state.
 This default implementation returns whether this domain object was created and
 there are any autogenerated attributes. Subclasses can override to relax or restrict
 the condition.

 @quirk caCORE The auto-generated criterion is a necessary but not sufficient condition
   to determine whether a save caCORE result reflects the database state. Example:
   * caTissue SCG event parameters are not auto-generated on SCG create if the SCG collection
     status is Pending, but are auto-generated on SCG update if the SCG status is changed
     to Complete. By contrast, the SCG specimens are auto-generated on SCG create, even if
     the status is +Pending+.

   The caBIG application can override this method in a Database subclass to fine-tune the
   fetch criteria. Adding a more restrictive {#fetch_saved?} condition will will improve
   performance but not change functionality.

 @quirk caCORE A saved attribute which is cascaded but not fetched must be fetched in
   order to reflect the database identifier in the saved object.

 TODO - this method is no longeer used. Should it be? If not, remove here and in catissue
 subclasses.

 @return [Boolean] whether this domain object must be fetched to reflect the database state