code: private void initReadBuffer(long seek)
                      throws IOException {
          if (headerinbuf == null) {
              int buflen =
                              DWORDSIZE + // room for next
                                              SWORDSIZE + // room for hash
                                              DWORDSIZE + // room for old format: last update
                                                          //          new format: validator expiration time (VET)
                                              DWORDSIZE + // room for old format: last reference
                                                          //          new format: H-WORD - unused; L-WORD - hashcode for cache value
                                              DWORDSIZE + // room for first creation
                                              DWORDSIZE + // room for expiration
                                              DWORDSIZE + // room for old format:grace 
                                                          //          new format:magic, version & data size
                                              SWORDSIZE; // room for key size
  
              headerinbuf = new byte[buflen];
              headerinbytestream = new ByteArrayInputStream(headerinbuf);
              headerin = new DataInputStream(headerinbytestream);
          }
          filemgr.seek(seek);
          filemgr.read(headerinbuf);
          headerinbytestream.reset();
      }
docs: ***********************************************************************
  This preps the reusable input buffer for reading object headers to reduce
  the number of physical reads necessary to read an object from disk.
  ***********************************************************************