code: @Override
      public T create(Transaction xaction, Map<String,Object> state) throws PersistenceException {
          state.put("--key--", getPrimaryKey().getFields()[0]);
          xaction.execute(getCreator(), state, writeDataSource);
          return getCache().find(state);
      }
docs: Creates the specified object with the data provided in the specified state under
  the governance of the specified transaction.
  @param xaction the transaction governing this event
  @param state the new state for the new object
  @throws PersistenceException an error occurred talking to the data store, or
  creates are not supported