code: public Object materializeObject(ClassDescriptor cld, Identity oid)
          throws PersistenceBrokerException
      {
          final StatementManagerIF sm = broker.serviceStatementManager();
          final SelectStatement sql = broker.serviceSqlGenerator().getPreparedSelectByPkStatement(cld);
          Object result = null;
          PreparedStatement stmt = null;
          ResultSet rs = null;
          try
          {
              stmt = sm.getSelectByPKStatement(cld);
              if (stmt == null)
              {
                  logger.error("getSelectByPKStatement returned a null statement");
                  throw new PersistenceBrokerException("getSelectByPKStatement returned a null statement");
              }
              /*
              arminw: currently a select by PK could never be a stored procedure,
              thus we can always set 'false'. Is this correct??
              */
              sm.bindSelect(stmt, oid, cld, false);
              rs = stmt.executeQuery();
              // data available read object, else return null
              ResultSetAndStatement rs_stmt = new ResultSetAndStatement(broker.serviceStatementManager(), stmt, rs, sql);
              if (rs.next())
              {
                  Map row = new HashMap();
                  cld.getRowReader().readObjectArrayFrom(rs_stmt, row);
                  result = cld.getRowReader().readObjectFrom(row);
              }
              // close resources
              rs_stmt.close();
          }
          catch (PersistenceBrokerException e)
          {
              // release resources on exception
              sm.closeResources(stmt, rs);
              logger.error("PersistenceBrokerException during the execution of materializeObject: " + e.getMessage(), e);
              throw e;
          }
          catch (SQLException e)
          {
              // release resources on exception
              sm.closeResources(stmt, rs);
              throw ExceptionHelper.generateException(e, sql.getStatement(), cld, logger, null);
          }
          return result;
      }
docs: performs a primary key lookup operation against RDBMS and materializes
  an object from the resulting row. Only skalar attributes are filled from
  the row, references are not resolved.
  @param oid contains the primary key info.
  @param cld ClassDescriptor providing mapping information.
  @return the materialized object, null if no matching row was found or if
  any error occured.