@Override
  public Object toWriteValue(DCompetition entity) {
    final Long id = getId(entity);
    final Object parentKey = getParentKey(entity);
    final Object value = supplier.createWriteValue(parentKey, getKind(), id);

    // set all fields:
    supplier.setLong(value, Field.ADMINID.getFieldName(), entity.getAdminId());
    supplier.setDate(value, Field.BEGINDATE.getFieldName(), entity.getBeginDate());
    supplier.setString(value, Field.CREATEDBY.getFieldName(), entity.getCreatedBy());
    supplier.setDate(value, Field.CREATEDDATE.getFieldName(), entity.getCreatedDate());
    supplier.setDate(value, Field.ENDDATE.getFieldName(), entity.getEndDate());
    supplier.setString(value, Field.TITLE.getFieldName(), entity.getTitle());
    supplier.setString(value, Field.UPDATEDBY.getFieldName(), entity.getUpdatedBy());
    supplier.setDate(value, Field.UPDATEDDATE.getFieldName(), entity.getUpdatedDate());
    supplier.setString(value, Field.URL.getFieldName(), entity.getUrl());
    return value;
  }