docs: public Object lookup(Identity oid)
      {
          processQueue();
          hitCount++;
          Object result = null;
  
          CacheEntry entry = (CacheEntry) objectTable.get(buildKey(oid));
          if(entry != null)
          {
              result = entry.get();
              if(result == null || entry.getLifetime() < System.currentTimeMillis())
              {
                  /*
                  cached object was removed by gc or lifetime was exhausted
                  remove CacheEntry from map
                  */
                  gcCount++;
                  remove(oid);
                  // make sure that we return null
                  result = null;
              }
              else
              {
                  /*
                  TODO: Not sure if this makes sense, could help to avoid corrupted objects
                  when changed in tx but not stored.
                  */
                  traceIdentity(oid);
                  if(log.isDebugEnabled()) log.debug("Object match " + oid);
              }
          }
          else
          {
              failCount++;
          }
          return result;
      }