test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/ChildOrderDiffTest.java
test_class.identifier: ChildOrderDiffTest
test_case.body: @Test
      public void testFirstRemoved() {
          PropertyState before = createPropertyState("n1", "n2", "n3");
          PropertyState after = createPropertyState("n2", "n3");
          assertFalse(ChildOrderDiff.isReordered(before, after));
      }
test_case.class_method_signature: ChildOrderDiffTest.testFirstRemoved()
test_case.full_signature: @Test public void testFirstRemoved()
test_case.identifier: testFirstRemoved
test_case.invocations: createPropertyState createPropertyState assertFalse isReordered
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testFirstRemoved()
focal_class.file: oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/ChildOrderDiff.java
focal_class.identifier: ChildOrderDiff
focal_class.class_method_signature: ChildOrderDiff.ChildOrderDiff()
focal_class.full_signature: private  ChildOrderDiff()
focal_class.identifier: ChildOrderDiff
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  ChildOrderDiff()
focal_class.class_method_signature: ChildOrderDiff.isReordered(@NotNull PropertyState before, @NotNull PropertyState after)
focal_class.full_signature: static boolean isReordered(@NotNull PropertyState before, @NotNull PropertyState after)
focal_class.identifier: isReordered
focal_class.modifiers: static
focal_class.parameters: (@NotNull PropertyState before, @NotNull PropertyState after)
focal_class.return: boolean
focal_class.signature: boolean isReordered(@NotNull PropertyState before, @NotNull PropertyState after)
focal_method.body: static boolean isReordered(@NotNull PropertyState before, @NotNull PropertyState after) {
          Set<String> afterNames = newLinkedHashSet(after.getValue(Type.NAMES));
          Set<String> beforeNames = newLinkedHashSet(before.getValue(Type.NAMES));
  
          // drop all newly added values from 'afterNames'
          afterNames.retainAll(beforeNames);
          // drop all removed values from 'beforeNames'
          beforeNames.retainAll(afterNames);
  
          // names got reordered if the elements in the 2 intersections aren't equal
          return !Iterables.elementsEqual(afterNames, beforeNames);
      }
focal_method.class_method_signature: ChildOrderDiff.isReordered(@NotNull PropertyState before, @NotNull PropertyState after)
focal_method.full_signature: static boolean isReordered(@NotNull PropertyState before, @NotNull PropertyState after)
focal_method.identifier: isReordered
focal_method.invocations: newLinkedHashSet getValue newLinkedHashSet getValue retainAll retainAll elementsEqual
focal_method.modifiers: static
focal_method.parameters: (@NotNull PropertyState before, @NotNull PropertyState after)
focal_method.return: boolean
focal_method.signature: boolean isReordered(@NotNull PropertyState before, @NotNull PropertyState after)