code: synchronized void captureCheckpointManagedObjects()
      {
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.entry(this,
                          cclass,
                          "captureCheckpointManagedObjectsremove"
                              );
  
          // Now that we are synchronized check that we have not captured the checkpoint sets already. 
          if (checkpointManagedObjectsToWrite == null) {
              // Take the tokens to write first, if we miss a delete we will catch it next time. 
              // The managedObjectsToWrite and tokensToDelete sets are volatile so users of the store will move to them 
              // promptly.
              checkpointManagedObjectsToWrite = managedObjectsToWrite;
              managedObjectsToWrite = new ConcurrentHashMap(concurrency);
              checkpointTokensToDelete = tokensToDelete;
              tokensToDelete = new ConcurrentHashMap(concurrency);
          }
  
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.exit(this,
                         cclass,
                         "captureCheckpointManagedObjects");
      }
docs: Capture the ManagedObjects to write and delete as part of the checkpoint.