test_class.file: oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/proc/SegmentNodeTest.java
test_class.identifier: SegmentNodeTest
test_case.body: @Test
      public void shouldHandleMissingSegment() {
          Backend backend = mock(Backend.class);
          when(backend.getSegment("s")).thenReturn(Optional.empty());
  
          assertEquals(MissingSegmentNode.class, SegmentNode.newSegmentNode(backend, "s").getClass());
      }
test_case.class_method_signature: SegmentNodeTest.shouldHandleMissingSegment()
test_case.full_signature: @Test public void shouldHandleMissingSegment()
test_case.identifier: shouldHandleMissingSegment
test_case.invocations: mock thenReturn when getSegment empty assertEquals getClass newSegmentNode
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldHandleMissingSegment()
focal_class.file: oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/proc/SegmentNode.java
focal_class.identifier: SegmentNode
focal_class.class_method_signature: SegmentNode.SegmentNode()
focal_class.full_signature: private  SegmentNode()
focal_class.identifier: SegmentNode
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  SegmentNode()
focal_class.class_method_signature: SegmentNode.newSegmentNode(Backend backend, String segmentId)
focal_class.full_signature: static NodeState newSegmentNode(Backend backend, String segmentId)
focal_class.identifier: newSegmentNode
focal_class.modifiers: static
focal_class.parameters: (Backend backend, String segmentId)
focal_class.return: NodeState
focal_class.signature: NodeState newSegmentNode(Backend backend, String segmentId)
focal_class.class_method_signature: SegmentNode.newSegmentNode(Backend backend, String segmentId, Segment segment)
focal_class.full_signature: private static NodeState newSegmentNode(Backend backend, String segmentId, Segment segment)
focal_class.identifier: newSegmentNode
focal_class.modifiers: private static
focal_class.parameters: (Backend backend, String segmentId, Segment segment)
focal_class.return: NodeState
focal_class.signature: NodeState newSegmentNode(Backend backend, String segmentId, Segment segment)
focal_class.class_method_signature: SegmentNode.newMissingSegment(String segmentId)
focal_class.full_signature: private static NodeState newMissingSegment(String segmentId)
focal_class.identifier: newMissingSegment
focal_class.modifiers: private static
focal_class.parameters: (String segmentId)
focal_class.return: NodeState
focal_class.signature: NodeState newMissingSegment(String segmentId)
focal_method.body: static NodeState newSegmentNode(Backend backend, String segmentId) {
          return backend.getSegment(segmentId)
              .map(segment -> newSegmentNode(backend, segmentId, segment))
              .orElseGet(() -> newMissingSegment(segmentId));
      }
focal_method.class_method_signature: SegmentNode.newSegmentNode(Backend backend, String segmentId)
focal_method.full_signature: static NodeState newSegmentNode(Backend backend, String segmentId)
focal_method.identifier: newSegmentNode
focal_method.invocations: orElseGet map getSegment newSegmentNode newMissingSegment
focal_method.modifiers: static
focal_method.parameters: (Backend backend, String segmentId)
focal_method.return: NodeState
focal_method.signature: NodeState newSegmentNode(Backend backend, String segmentId)