code: private Identity getIdentityFromResultSet()
      {
  
          try
          {
              // 1. get an empty instance of the target class
              Constructor con = classDescriptor.getZeroArgumentConstructor();
              Object obj = ConstructorHelper.instantiate(con);
  
              // 2. fill only primary key values from Resultset
              Object colValue;
              FieldDescriptor fld;
              FieldDescriptor[] pkfields = classDescriptor.getPkFields();
              for (int i = 0; i < pkfields.length; i++)
              {
                  fld = pkfields[i];
                  colValue = fld.getJdbcType().getObjectFromColumn(resultSetAndStatment.m_rs, fld.getColumnName());
                  fld.getPersistentField().set(obj, colValue);
              }
              // 3. return the representing identity object
              return broker.serviceIdentity().buildIdentity(classDescriptor, obj);
          }
          catch (SQLException e)
          {
              throw new PersistenceBrokerSQLException("Error reading object from column", e);
          }
          catch (Exception e)
          {
              throw new PersistenceBrokerException("Error reading Identity from result set", e);
          }
      }
docs: returns an Identity object representing the current resultset row