code: public synchronized LogValue get(final LogKey pKey) throws TTIOException {
          if (isClosed()) {
              return new LogValue(null, null);
          }
          LogValue val = mCache.getIfPresent(pKey);
          if (val == null || val.getModified() == null) {
              final DatabaseEntry valueEntry = new DatabaseEntry();
              final DatabaseEntry keyEntry = new DatabaseEntry();
              mKeyBinding.objectToEntry(pKey, keyEntry);
              try {
                  final OperationStatus status = mDatabase.get(null, keyEntry, valueEntry, LockMode.DEFAULT);
                  if (status == OperationStatus.SUCCESS) {
                      val = mValueBinding.entryToObject(valueEntry);
                  } else {
                      val = new LogValue(null, null);
                  }
                  mCache.put(pKey, val);
                  // get.write(pKey.getLevel() + "," + pKey.getSeq() + "\n");
                  // get.flush();
  
              } catch (DatabaseException exc) {
                  throw new TTIOException(exc);
              }
          }
          return val;
      }
docs: {@inheritDoc}