code: private Object setAutoIncrementValue(FieldDescriptor fd, Object obj)
      {
          PersistentField f = fd.getPersistentField();
          try
          {
              // lookup SeqMan for a value matching db column an
              Object result = m_broker.serviceSequenceManager().getUniqueValue(fd);
              // reflect autoincrement value back into object
              f.set(obj, result);
              return result;
          }
          catch(MetadataException e)
          {
              throw new PersistenceBrokerException(
                      "Error while trying to autoincrement field " + f.getDeclaringClass() + "#" + f.getName(),
                      e);
          }
          catch(SequenceManagerException e)
          {
              throw new PersistenceBrokerException("Could not get key value", e);
          }
      }
docs: Set an autoincremented value in given object field that has already
  had a field conversion run on it, if an value for the given field is
  already set, it will be overridden - no further checks are done.
  <p>
  The data type of the value that is returned by this method is
  compatible with the java-world.  The return value has <b>NOT</b>
  been run through a field conversion and converted to a corresponding
  sql-type.
  
  @return the autoincremented value set on given object
  @throws PersistenceBrokerException if there is an erros accessing obj field values