docs: public synchronized void print(java.io.PrintWriter printWriter)
      {
          super.print(printWriter);
  
          try {
              printWriter.println("State Dump for:" + cclass.getName()
                                  + "\n storeFile=" + storeFile + "(java.io.RandomaccessFile)"
                                  + "\n storeFileSizeUsed=" + storeFileSizeUsed + "(long)"
                                  + " storeFileSizeAllocated=" + storeFileSizeAllocated + "(long)"
                                  + " reservedSize=" + reservedSize + "(long)"
                                  + " directoryReservedSize=" + directoryReservedSize + "(long)"
                                  + "\n minimumStoreFileSize=" + minimumStoreFileSize
                                  + " maximumStoreFileSize=" + maximumStoreFileSize
                                  + "\n ((Directory.Node)directory.root).byteAddress=" + ((Directory.Node) directory.root).byteAddress
                                  + "((Directory.Node)directory.root).length=" + ((Directory.Node) directory.root).length
                                  + " directory.size()=" + directory.size()
                                  + "\n freeSpaceStoreArea=" + freeSpaceStoreArea);
              printWriter.println();
  
              // directory.print(printWriter);
              // printWriter.println();
  
              printWriter.println("managedObjectsToWrite...");
              for (java.util.Iterator managedObjectIterator = managedObjectsToWrite.values().iterator(); managedObjectIterator.hasNext();) {
                  ManagedObject managedObject = (ManagedObject) managedObjectIterator.next();
                  printWriter.println(managedObject.toString());
              } // for ... managedObjectsToWrite.
  
              printWriter.println("tokensToDelete...");
              for (java.util.Iterator tokenIterator = tokensToDelete.values().iterator(); tokenIterator.hasNext();) {
                  Token token = (Token) tokenIterator.next();
                  printWriter.println(token.toString());
              } // for ... tokensToDelete.
  
              printWriter.println("directory...");
              printWriter.println("identifier          byteAddress         length");
              printWriter.println(("directoryRoot       ")
                                  + (((Directory.Node) directory.root).byteAddress + "                    ").substring(0, 20)
                                  + (((Directory.Node) directory.root).length + "                    ").substring(0, 20)
                              );
              for (Iterator storeAreaIterator = directory.entrySet().iterator(); storeAreaIterator.hasNext();) {
                  Directory.StoreArea storeArea = (Directory.StoreArea) storeAreaIterator.next();
                  printWriter.println((storeArea.identifier + "                    ").substring(0, 20)
                                      + (storeArea.byteAddress + "                    ").substring(0, 20)
                                      + (storeArea.length + "                    ").substring(0, 20)
                                  );
                  Directory.Node child = (Directory.Node) storeArea.getChild();
                  if (child != null) {
                      printWriter.println(("directoryMetaData   ")
                                          + (child.byteAddress + "                    ").substring(0, 20)
                                          + (child.length + "                    ").substring(0, 20)
                                      );
                      if (storeArea.next.getKey() == null) {
                          storeArea = (Directory.StoreArea) storeArea.next;
                          child = (Directory.Node) storeArea.getChild();
                          printWriter.println(("directoryMetaData   ")
                                              + (child.byteAddress + "                    ").substring(0, 20)
                                              + (child.length + "                    ").substring(0, 20)
                                          );
                      } // if (storeArea.next.getKey() == null).                    
                  } // if (child != null).
              } // for ... directory.
          } catch (ObjectManagerException objectManagerException) {
              // No FFDC code needed.
              printWriter.println("Caught objectManagerException=" + objectManagerException);
              objectManagerException.printStackTrace(printWriter);
          } // try...
  
          printWriter.println("cachedManagedObjects...");
          for (int i = 0; i < cachedManagedObjects.length; i++) {
              if (cachedManagedObjects[i] != null)
                  printWriter.println(i + " " + cachedManagedObjects[i].toString());
          } // for cachedManagedObjects.
  
          printWriter.println("freeSpaceByLength.size()=" + freeSpaceByLength.size() + "\n... Address(long) Length(Long)");
          for (java.util.Iterator iterator = freeSpaceByLength.iterator(); iterator.hasNext();) {
              FreeSpace freeSpace = (FreeSpace) iterator.next();
              printWriter.println(freeSpace.address + " " + freeSpace.length);
          } // for freeSpaceAddress.
  
          printWriter.println("newFreeSpace.size()=" + newFreeSpace.size() + "\n... Address(long) Length(Long)");
          for (java.util.Iterator freeSpaceIterator = newFreeSpace.iterator(); freeSpaceIterator.hasNext();) {
              Directory.StoreArea storeArea = (Directory.StoreArea) freeSpaceIterator.next();
              printWriter.println(storeArea.byteAddress + " " + storeArea.length);
          } // for newFreeSpace.
  
      }