test_class.declarator: folder = new TemporaryFolder(new File("target"))
test_class.modifier: @Rule
      public
test_class.original_string: @Rule
      public TemporaryFolder folder = new TemporaryFolder(new File("target"));
test_class.type: TemporaryFolder
test_class.var_name: folder
test_class.declarator: fileStore
test_class.modifier: private
test_class.original_string: private FileStore fileStore;
test_class.type: FileStore
test_class.var_name: fileStore
test_class.declarator: nodeStore
test_class.modifier: private
test_class.original_string: private SegmentNodeStore nodeStore;
test_class.type: SegmentNodeStore
test_class.var_name: nodeStore
test_class.file: oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/ClassicCompactorTest.java
test_class.identifier: ClassicCompactorTest
test_case.body: @Test
      public void testCompact() throws Exception {
          ClassicCompactor compactor = createCompactor(fileStore, null);
          addTestContent(nodeStore);
  
          SegmentNodeState uncompacted = (SegmentNodeState) nodeStore.getRoot();
          SegmentNodeState compacted = compactor.compact(uncompacted, Canceller.newCanceller());
          assertNotNull(compacted);
          assertFalse(uncompacted == compacted);
          assertEquals(uncompacted, compacted);
          assertEquals(uncompacted.getSegment().getGcGeneration().nextFull(), compacted.getSegment().getGcGeneration());
  
          modifyTestContent(nodeStore);
          NodeState modified = nodeStore.getRoot();
          compacted = compactor.compact(uncompacted, modified, compacted, Canceller.newCanceller());
          assertNotNull(compacted);
          assertFalse(modified == compacted);
          assertEquals(modified, compacted);
          assertEquals(uncompacted.getSegment().getGcGeneration().nextFull(), compacted.getSegment().getGcGeneration());
      }
test_case.class_method_signature: ClassicCompactorTest.testCompact()
test_case.full_signature: @Test public void testCompact()
test_case.identifier: testCompact
test_case.invocations: createCompactor addTestContent getRoot compact newCanceller assertNotNull assertFalse assertEquals assertEquals nextFull getGcGeneration getSegment getGcGeneration getSegment modifyTestContent getRoot compact newCanceller assertNotNull assertFalse assertEquals assertEquals nextFull getGcGeneration getSegment getGcGeneration getSegment
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testCompact()
focal_class.declarator: UPDATE_LIMIT =
              Integer.getInteger("compaction.update.limit", 10000)
focal_class.modifier: static final
focal_class.original_string: static final int UPDATE_LIMIT =
              Integer.getInteger("compaction.update.limit", 10000);
focal_class.type: int
focal_class.var_name: UPDATE_LIMIT
focal_class.declarator: writer
focal_class.modifier: @NotNull
      private final
focal_class.original_string: @NotNull
      private final SegmentWriter writer;
focal_class.type: SegmentWriter
focal_class.var_name: writer
focal_class.declarator: reader
focal_class.modifier: @NotNull
      private final
focal_class.original_string: @NotNull
      private final SegmentReader reader;
focal_class.type: SegmentReader
focal_class.var_name: reader
focal_class.declarator: blobStore
focal_class.modifier: @Nullable
      private final
focal_class.original_string: @Nullable
      private final BlobStore blobStore;
focal_class.type: BlobStore
focal_class.var_name: blobStore
focal_class.declarator: compactionMonitor
focal_class.modifier: @NotNull
      private final
focal_class.original_string: @NotNull
      private final GCNodeWriteMonitor compactionMonitor;
focal_class.type: GCNodeWriteMonitor
focal_class.var_name: compactionMonitor
focal_class.file: oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/ClassicCompactor.java
focal_class.identifier: ClassicCompactor
focal_class.interfaces: implements Compactor
focal_class.class_method_signature: ClassicCompactor.ClassicCompactor(
              @NotNull SegmentReader reader,
              @NotNull SegmentWriter writer,
              @Nullable BlobStore blobStore,
              @NotNull GCNodeWriteMonitor compactionMonitor)
focal_class.full_signature: public  ClassicCompactor(
              @NotNull SegmentReader reader,
              @NotNull SegmentWriter writer,
              @Nullable BlobStore blobStore,
              @NotNull GCNodeWriteMonitor compactionMonitor)
focal_class.identifier: ClassicCompactor
focal_class.modifiers: public
focal_class.parameters: (
              @NotNull SegmentReader reader,
              @NotNull SegmentWriter writer,
              @Nullable BlobStore blobStore,
              @NotNull GCNodeWriteMonitor compactionMonitor)
focal_class.signature:  ClassicCompactor(
              @NotNull SegmentReader reader,
              @NotNull SegmentWriter writer,
              @Nullable BlobStore blobStore,
              @NotNull GCNodeWriteMonitor compactionMonitor)
focal_class.class_method_signature: ClassicCompactor.compact(@NotNull NodeState state, Canceller canceller)
focal_class.full_signature: @Nullable public SegmentNodeState compact(@NotNull NodeState state, Canceller canceller)
focal_class.identifier: compact
focal_class.modifiers: @Nullable public
focal_class.parameters: (@NotNull NodeState state, Canceller canceller)
focal_class.return: SegmentNodeState
focal_class.signature: SegmentNodeState compact(@NotNull NodeState state, Canceller canceller)
focal_class.class_method_signature: ClassicCompactor.compact(
          @NotNull NodeState before,
          @NotNull NodeState after,
          @NotNull NodeState onto,
          Canceller canceller
      )
focal_class.full_signature: @Nullable public SegmentNodeState compact(
          @NotNull NodeState before,
          @NotNull NodeState after,
          @NotNull NodeState onto,
          Canceller canceller
      )
focal_class.identifier: compact
focal_class.modifiers: @Nullable public
focal_class.parameters: (
          @NotNull NodeState before,
          @NotNull NodeState after,
          @NotNull NodeState onto,
          Canceller canceller
      )
focal_class.return: SegmentNodeState
focal_class.signature: SegmentNodeState compact(
          @NotNull NodeState before,
          @NotNull NodeState after,
          @NotNull NodeState onto,
          Canceller canceller
      )
focal_class.class_method_signature: ClassicCompactor.getStableIdBytes(NodeState state)
focal_class.full_signature: @Nullable private static Buffer getStableIdBytes(NodeState state)
focal_class.identifier: getStableIdBytes
focal_class.modifiers: @Nullable private static
focal_class.parameters: (NodeState state)
focal_class.return: Buffer
focal_class.signature: Buffer getStableIdBytes(NodeState state)
focal_class.class_method_signature: ClassicCompactor.compact(@NotNull PropertyState property)
focal_class.full_signature: @NotNull private PropertyState compact(@NotNull PropertyState property)
focal_class.identifier: compact
focal_class.modifiers: @NotNull private
focal_class.parameters: (@NotNull PropertyState property)
focal_class.return: PropertyState
focal_class.signature: PropertyState compact(@NotNull PropertyState property)
focal_method.body: @Nullable
      public SegmentNodeState compact(@NotNull NodeState state, Canceller canceller) throws IOException {
          return compact(EMPTY_NODE, state, EMPTY_NODE, canceller);
      }
focal_method.class_method_signature: ClassicCompactor.compact(@NotNull NodeState state, Canceller canceller)
focal_method.full_signature: @Nullable public SegmentNodeState compact(@NotNull NodeState state, Canceller canceller)
focal_method.identifier: compact
focal_method.invocations: compact
focal_method.modifiers: @Nullable public
focal_method.parameters: (@NotNull NodeState state, Canceller canceller)
focal_method.return: SegmentNodeState
focal_method.signature: SegmentNodeState compact(@NotNull NodeState state, Canceller canceller)