code: public void materializeFullObject(Object target)
      {
          ClassDescriptor cld = broker.getClassDescriptor(target.getClass());
          // don't force, let OJB use the user settings
          final boolean forced = false;
          if (forceProxies){
              broker.getReferenceBroker().retrieveProxyReferences(target, cld, forced);
              broker.getReferenceBroker().retrieveProxyCollections(target, cld, forced);
          }else{
              broker.getReferenceBroker().retrieveReferences(target, cld, forced);
              broker.getReferenceBroker().retrieveCollections(target, cld, forced);
          }    
      }
docs: This cache implementation cache only "flat" objects (persistent objects without any
  references), so when {@link #lookup(org.apache.ojb.broker.Identity)} a cache object
  it needs full materialization (assign all referenced objects) before the cache returns
  the object. The materialization of the referenced objects based on the auto-XXX settings
  specified in the metadata mapping.
  <br/>
  Override this method if needed in conjunction with a user-defined
  {@link org.apache.ojb.broker.cache.ObjectCacheTwoLevelImpl.CopyStrategy}.
  
  @param target The "flat" object for full materialization