test_class.file: oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/tool/iotrace/DepthFirstTraceTest.java
test_class.identifier: DepthFirstTraceTest
test_case.body: @Test
      public void testTraverseDepth1Tree() {
          List<List<String>> trace = newArrayList();
          new DepthFirstTrace(4, "/", trace::add).run(createTree(1));
          assertEquals(2, trace.size());
          assertEquals(ImmutableList.of("0", "1", "/"), trace.get(0));
          assertEquals(ImmutableList.of("1", "2", "/node-0"), trace.get(1));
      }
test_case.class_method_signature: DepthFirstTraceTest.testTraverseDepth1Tree()
test_case.full_signature: @Test public void testTraverseDepth1Tree()
test_case.identifier: testTraverseDepth1Tree
test_case.invocations: newArrayList run createTree assertEquals size assertEquals of get assertEquals of get
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testTraverseDepth1Tree()
focal_class.declarator: CONTEXT_SPEC = "depth,count,path"
focal_class.modifier: @NotNull
      public static final
focal_class.original_string: @NotNull
      public static final String CONTEXT_SPEC = "depth,count,path";
focal_class.type: String
focal_class.var_name: CONTEXT_SPEC
focal_class.declarator: depth
focal_class.modifier: private final
focal_class.original_string: private final int depth;
focal_class.type: int
focal_class.var_name: depth
focal_class.declarator: path
focal_class.modifier: @NotNull
      private final
focal_class.original_string: @NotNull
      private final String path;
focal_class.type: String
focal_class.var_name: path
focal_class.declarator: context
focal_class.modifier: @NotNull
      private final
focal_class.original_string: @NotNull
      private final Consumer<List<String>> context;
focal_class.type: Consumer<List<String>>
focal_class.var_name: context
focal_class.declarator: nodeCount = new AtomicInteger()
focal_class.modifier: @NotNull
      private final
focal_class.original_string: @NotNull
      private final AtomicInteger nodeCount = new AtomicInteger();
focal_class.type: AtomicInteger
focal_class.var_name: nodeCount
focal_class.file: oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/iotrace/DepthFirstTrace.java
focal_class.identifier: DepthFirstTrace
focal_class.interfaces: implements Trace
focal_class.class_method_signature: DepthFirstTrace.DepthFirstTrace(int depth, @NotNull String path, @NotNull Consumer<List<String>> context)
focal_class.full_signature: public  DepthFirstTrace(int depth, @NotNull String path, @NotNull Consumer<List<String>> context)
focal_class.identifier: DepthFirstTrace
focal_class.modifiers: public
focal_class.parameters: (int depth, @NotNull String path, @NotNull Consumer<List<String>> context)
focal_class.signature:  DepthFirstTrace(int depth, @NotNull String path, @NotNull Consumer<List<String>> context)
focal_class.class_method_signature: DepthFirstTrace.run(@NotNull NodeState node)
focal_class.full_signature: @Override public void run(@NotNull NodeState node)
focal_class.identifier: run
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull NodeState node)
focal_class.return: void
focal_class.signature: void run(@NotNull NodeState node)
focal_class.class_method_signature: DepthFirstTrace.getNode(@NotNull NodeState root, @NotNull String path)
focal_class.full_signature: @NotNull private static NodeState getNode(@NotNull NodeState root, @NotNull String path)
focal_class.identifier: getNode
focal_class.modifiers: @NotNull private static
focal_class.parameters: (@NotNull NodeState root, @NotNull String path)
focal_class.return: NodeState
focal_class.signature: NodeState getNode(@NotNull NodeState root, @NotNull String path)
focal_class.class_method_signature: DepthFirstTrace.traverse(NodeState node, int depth, @NotNull String path)
focal_class.full_signature: private void traverse(NodeState node, int depth, @NotNull String path)
focal_class.identifier: traverse
focal_class.modifiers: private
focal_class.parameters: (NodeState node, int depth, @NotNull String path)
focal_class.return: void
focal_class.signature: void traverse(NodeState node, int depth, @NotNull String path)
focal_class.class_method_signature: DepthFirstTrace.updateContext(
              @NotNull Consumer<List<String>> context, int depth, int count, @NotNull String path)
focal_class.full_signature: private static void updateContext(
              @NotNull Consumer<List<String>> context, int depth, int count, @NotNull String path)
focal_class.identifier: updateContext
focal_class.modifiers: private static
focal_class.parameters: (
              @NotNull Consumer<List<String>> context, int depth, int count, @NotNull String path)
focal_class.return: void
focal_class.signature: void updateContext(
              @NotNull Consumer<List<String>> context, int depth, int count, @NotNull String path)
focal_method.body: @Override
      public void run(@NotNull NodeState node) {
          traverse(getNode(node, path), 0, path);
      }
focal_method.class_method_signature: DepthFirstTrace.run(@NotNull NodeState node)
focal_method.full_signature: @Override public void run(@NotNull NodeState node)
focal_method.identifier: run
focal_method.invocations: traverse getNode
focal_method.modifiers: @Override public
focal_method.parameters: (@NotNull NodeState node)
focal_method.return: void
focal_method.signature: void run(@NotNull NodeState node)