def fetched?
      return true if @flags.include?(:fetched)
      return false if @flags.include?(:transient) or @flags.include?(:unfetched)
      nondomain? or dependent? ? fetched_dependent? : fetched_independent?
    end
def fetched?
      return true if @flags.include?(:fetched)
      return false if @flags.include?(:transient) or @flags.include?(:unfetched)
      nondomain? or dependent? ? fetched_dependent? : fetched_independent?
    end
Returns whether this property is fetched, determined as follows:
 * this property is marked with the +:fetched+ flag
 * this property is not marked with the +:transient+ or +:unfetched+ flag
 * otherwise, this is a non-domain property
 * otherwise, this is a domain property and one of the following conditions hold:
   * this is a non-logical dependent domain property
   * this is an owner property
   * this is an abstract, non-derived independent property

 @return [Boolean] whether this property is fetched