@Override
  protected Object getDomainProperty(DClass domain, String name) {
    Object value;
    // simple key?
    if (COLUMN_NAME_ID.equals(name)) {
      value = domain.getId();
    }
    // parent key?
    else if (COLUMN_NAME_RACEKEY.equals(name)) {
      value = domain.getRaceKey();
    }
    // fields
    else if (COLUMN_NAME_ACTUALSTART.equals(name)) {
      value = domain.getActualStart();
    } else if (COLUMN_NAME_CREATEDBY.equals(name)) {
      value = domain.getCreatedBy();
    } else if (COLUMN_NAME_CREATEDDATE.equals(name)) {
      value = domain.getCreatedDate();
    } else if (COLUMN_NAME_NAME.equals(name)) {
      value = domain.getName();
    } else if (COLUMN_NAME_SCHEDULEDSTART.equals(name)) {
      value = domain.getScheduledStart();
    } else if (COLUMN_NAME_UPDATEDBY.equals(name)) {
      value = domain.getUpdatedBy();
    } else if (COLUMN_NAME_UPDATEDDATE.equals(name)) {
      value = domain.getUpdatedDate();
    }
    // one-to-ones
    // many-to-ones
    else if (COLUMN_NAME_TRACK.equals(name)) {
      value = domain.getTrack();
    }
    // many-to-manys
    else {
      value = super.getDomainProperty(domain, name);
    }

    return value;
  }
 public Object getParentKey(DClass domain) {
   return domain.getRaceKey();
 }