/**
   * Retrieves the transient properties
   *
   * @param domainClass The owning domain class
   * @return A list of transient properties
   */
  private List getTransients(GrailsDomainClass domainClass) {
    List transientProps;
    transientProps = (List) domainClass.getPropertyValue(TRANSIENT, List.class);

    // Undocumented feature alert! Steve insisted on this :-)
    List evanescent = (List) domainClass.getPropertyValue(EVANESCENT, List.class);
    if (evanescent != null) {
      if (transientProps == null) transientProps = new ArrayList();

      transientProps.addAll(evanescent);
    }
    return transientProps;
  }
  /** Evaluates the fetchmode */
  private void establishFetchMode() {

    Map fetchMap =
        (Map) domainClass.getPropertyValue(GrailsDomainClassProperty.FETCH_MODE, Map.class);
    if (fetchMap != null && fetchMap.containsKey(this.name)) {
      if ("eager".equals(fetchMap.get(this.name))) {
        this.fetchMode = FETCH_EAGER;
      }
    }
  }