test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/CursorsTest.java
test_class.identifier: CursorsTest
test_case.body: @Test
      public void intersectionCursorExceptions() {
          QueryEngineSettings s = new QueryEngineSettings();
          Cursor a = new SimpleCursor("1:", "/x", "/b", "/c", "/e", "/e", "/c");
          Cursor b = new SimpleCursor("2:", "/a", "/c", "/d", "/b", "/c");
          Cursor c = Cursors.newIntersectionCursor(a, b, s);
          c.next();
          c.next();
          try {
              c.remove();
              fail();
          } catch (UnsupportedOperationException e) {
              // expected
          }
          try {
              c.next();
              fail();
          } catch (IllegalStateException e) {
              // expected
          }
      }
test_case.class_method_signature: CursorsTest.intersectionCursorExceptions()
test_case.full_signature: @Test public void intersectionCursorExceptions()
test_case.identifier: intersectionCursorExceptions
test_case.invocations: newIntersectionCursor next next remove fail next fail
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void intersectionCursorExceptions()
focal_class.file: oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/Cursors.java
focal_class.identifier: Cursors
focal_class.class_method_signature: Cursors.Cursors()
focal_class.full_signature: private  Cursors()
focal_class.identifier: Cursors
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  Cursors()
focal_class.class_method_signature: Cursors.checkMemoryLimit(long count, QueryLimits settings)
focal_class.full_signature: public static void checkMemoryLimit(long count, QueryLimits settings)
focal_class.identifier: checkMemoryLimit
focal_class.modifiers: public static
focal_class.parameters: (long count, QueryLimits settings)
focal_class.return: void
focal_class.signature: void checkMemoryLimit(long count, QueryLimits settings)
focal_class.class_method_signature: Cursors.checkReadLimit(long count, QueryLimits settings)
focal_class.full_signature: public static void checkReadLimit(long count, QueryLimits settings)
focal_class.identifier: checkReadLimit
focal_class.modifiers: public static
focal_class.parameters: (long count, QueryLimits settings)
focal_class.return: void
focal_class.signature: void checkReadLimit(long count, QueryLimits settings)
focal_class.class_method_signature: Cursors.newIntersectionCursor(Cursor a, Cursor b, QueryLimits settings)
focal_class.full_signature: public static Cursor newIntersectionCursor(Cursor a, Cursor b, QueryLimits settings)
focal_class.identifier: newIntersectionCursor
focal_class.modifiers: public static
focal_class.parameters: (Cursor a, Cursor b, QueryLimits settings)
focal_class.return: Cursor
focal_class.signature: Cursor newIntersectionCursor(Cursor a, Cursor b, QueryLimits settings)
focal_class.class_method_signature: Cursors.newConcatCursor(List<Cursor> cursors, QueryLimits settings)
focal_class.full_signature: public static Cursor newConcatCursor(List<Cursor> cursors, QueryLimits settings)
focal_class.identifier: newConcatCursor
focal_class.modifiers: public static
focal_class.parameters: (List<Cursor> cursors, QueryLimits settings)
focal_class.return: Cursor
focal_class.signature: Cursor newConcatCursor(List<Cursor> cursors, QueryLimits settings)
focal_class.class_method_signature: Cursors.newPathCursor(Iterable<String> paths, QueryLimits settings)
focal_class.full_signature: public static Cursor newPathCursor(Iterable<String> paths, QueryLimits settings)
focal_class.identifier: newPathCursor
focal_class.modifiers: public static
focal_class.parameters: (Iterable<String> paths, QueryLimits settings)
focal_class.return: Cursor
focal_class.signature: Cursor newPathCursor(Iterable<String> paths, QueryLimits settings)
focal_class.class_method_signature: Cursors.newPathCursorDistinct(Iterable<String> paths, QueryLimits settings)
focal_class.full_signature: public static Cursor newPathCursorDistinct(Iterable<String> paths, QueryLimits settings)
focal_class.identifier: newPathCursorDistinct
focal_class.modifiers: public static
focal_class.parameters: (Iterable<String> paths, QueryLimits settings)
focal_class.return: Cursor
focal_class.signature: Cursor newPathCursorDistinct(Iterable<String> paths, QueryLimits settings)
focal_class.class_method_signature: Cursors.newTraversingCursor(Filter filter,
                                               NodeState rootState)
focal_class.full_signature: public static Cursor newTraversingCursor(Filter filter,
                                               NodeState rootState)
focal_class.identifier: newTraversingCursor
focal_class.modifiers: public static
focal_class.parameters: (Filter filter,
                                               NodeState rootState)
focal_class.return: Cursor
focal_class.signature: Cursor newTraversingCursor(Filter filter,
                                               NodeState rootState)
focal_class.class_method_signature: Cursors.newAncestorCursor(Cursor c, int level, QueryLimits settings)
focal_class.full_signature: public static Cursor newAncestorCursor(Cursor c, int level, QueryLimits settings)
focal_class.identifier: newAncestorCursor
focal_class.modifiers: public static
focal_class.parameters: (Cursor c, int level, QueryLimits settings)
focal_class.return: Cursor
focal_class.signature: Cursor newAncestorCursor(Cursor c, int level, QueryLimits settings)
focal_method.body: public static Cursor newIntersectionCursor(Cursor a, Cursor b, QueryLimits settings) {
          return new IntersectionCursor(a, b, settings);
      }
focal_method.class_method_signature: Cursors.newIntersectionCursor(Cursor a, Cursor b, QueryLimits settings)
focal_method.full_signature: public static Cursor newIntersectionCursor(Cursor a, Cursor b, QueryLimits settings)
focal_method.identifier: newIntersectionCursor
focal_method.modifiers: public static
focal_method.parameters: (Cursor a, Cursor b, QueryLimits settings)
focal_method.return: Cursor
focal_method.signature: Cursor newIntersectionCursor(Cursor a, Cursor b, QueryLimits settings)