docs: public synchronized void open(ObjectManagerState objectManagerState)
                      throws ObjectManagerException {
          final String methodName = "open";
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.entry(this, cclass, methodName, new Object[] { objectManagerState });
  
          super.open(objectManagerState);
  
          managedObjectsToWrite = new ConcurrentHashMap(concurrency);
          tokensToDelete = new ConcurrentHashMap(concurrency);
          newFreeSpace = new java.util.TreeSet(); // Natural order of store entries is address
          numberOfGetRequests = 0;
          numberOfDirectoryNodesRead = 0;
          numberOfStoreFullCheckpointsTriggered = 0;
          numberOfReservationCheckpointsTriggered = 0;
          pacedReservationsReleased = 0;
          numberOfManagedObjectsWritten = 0;
          storeFileExtendedDuringAllocation = 0;
          reservationPacingLock = new ReservationPacingLock();
          getLock = new GetLock();
  
          storeFileName = (String) objectManagerState.objectStoreLocations.get(storeName);
          if (storeFileName == null)
              storeFileName = storeName;
          if (Tracing.isAnyTracingEnabled() && trace.isDebugEnabled())
              trace.debug(this,
                          cclass,
                          methodName,
                          new Object[] { "storeName:664", storeName, storeFileName });
  
          // During restart the file must exist, later we will check that it has at least a valid header.
          // This test a voids creating unnecessary empty files in the case where the file does not already 
          // exist at a warm start. It is not foolproof though, if the file is deleted by another process
          // between here and the RandomAccesFile constructor we will create a new empty file.    
          if (objectManagerState.getObjectManagerStateState() == ObjectManagerState.stateReplayingLog
              && !(new java.io.File(storeFileName).exists())) {
              if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
                  trace.exit(this, cclass, methodName, new Object[] { "File does not exist:673" });
              throw new NonExistentObjectStoreFileException(this,
                                                            storeFileName);
          } // if.
  
          // Access the underlying file.
          try {
              storeFile = new java.io.RandomAccessFile(storeFileName,
                                                       "rw" // Read, Write
              );
          } catch (java.io.FileNotFoundException exception) {
              // No FFDC Code Needed.
              ObjectManager.ffdc.processException(this, cclass, methodName, exception, "1:685:1.57");
              if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
                  trace.exit(this, cclass, methodName, new Object[] { "File not found exception:687" });
              throw new NonExistentObjectStoreFileException(this,
                                                            exception,
                                                            storeFileName);
          } // try.
  
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.exit(this, cclass, methodName);
      }