code: public void clear()
                      throws IOException,
                      EOFException,
                      FileManagerException {
          iterationLock.p();
  
          try {
              synchronized (this) {
                  if (filemgr == null) {
                      throw new HashtableOnDiskException("No Filemanager");
                  }
  
                  int tableid = header.currentTableId();
                  clears++;
  
                  for (int i = 0; i < header.tablesize(); i++) {
                      filemgr.seek(header.calcOffset(i, tableid));
                      long location = filemgr.readLong();
  
                      while (location != 0) { // clear out buckets
                          filemgr.seek(location); // look for "next" pointer
                          long next = filemgr.readLong();
                          header.decrementObjectCount();
                          filemgr.deallocate(location);
                          location = next;
                      }
  
                      writeHashIndex(i, 0, tableid); // broken, jrc
                  }
              }
          } finally {
              iterationLock.v();
          }
      }
docs: ************************************************************************
  Removes all objects from the map. Its probably faster to just close the
  file, delete it, and reinitialize. But this is useful if there are multiple HTOD
  instances in the file and we don't want to destroy some of them.
  
  @exception FileManagerException The underlying file manager has a problem.
  deserialized while searching to see if the object already exists. The
  underlying file is likely corrupted.
  @exception IOException The underlying file has a problem and is likely
  corrupt.
  @exception EOFxception We were asked to seek beyond the end of the file.
  The file is likely corrupt.
  ***********************************************************************