test_class.declarator: builderProvider = new DocumentMKBuilderProvider()
test_class.modifier: @Rule
      public
test_class.original_string: @Rule
      public DocumentMKBuilderProvider builderProvider = new DocumentMKBuilderProvider();
test_class.type: DocumentMKBuilderProvider
test_class.var_name: builderProvider
test_class.declarator: store
test_class.modifier: private
test_class.original_string: private DocumentNodeStore store;
test_class.type: DocumentNodeStore
test_class.var_name: store
test_class.declarator: journalDisabledProp
test_class.modifier: private
test_class.original_string: private String journalDisabledProp;
test_class.type: String
test_class.var_name: journalDisabledProp
test_class.declarator: differ
test_class.modifier: private
test_class.original_string: private BundledDocumentDiffer differ;
test_class.type: BundledDocumentDiffer
test_class.var_name: differ
test_class.declarator: secondary = new MemoryNodeStore()
test_class.modifier: private
test_class.original_string: private MemoryNodeStore secondary = new MemoryNodeStore();
test_class.type: MemoryNodeStore
test_class.var_name: secondary
test_class.file: oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundledDocumentDifferTest.java
test_class.identifier: BundledDocumentDifferTest
test_case.body: @Test
      public void jsopDiff() throws Exception{
          JsopWriter w = new JsopBuilder();
          differ.diffChildren(of("a", "b"), of("b", "c"), w);
  
          //removed a
          //changed b
          //added b
          assertEquals("-\"a\"^\"b\":{}+\"c\":{}", w.toString());
      }
test_case.class_method_signature: BundledDocumentDifferTest.jsopDiff()
test_case.full_signature: @Test public void jsopDiff()
test_case.identifier: jsopDiff
test_case.invocations: diffChildren of of assertEquals toString
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void jsopDiff()
focal_class.declarator: nodeStore
focal_class.modifier: private final
focal_class.original_string: private final DocumentNodeStore nodeStore;
focal_class.type: DocumentNodeStore
focal_class.var_name: nodeStore
focal_class.file: oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundledDocumentDiffer.java
focal_class.identifier: BundledDocumentDiffer
focal_class.class_method_signature: BundledDocumentDiffer.BundledDocumentDiffer(DocumentNodeStore nodeStore)
focal_class.full_signature: public  BundledDocumentDiffer(DocumentNodeStore nodeStore)
focal_class.identifier: BundledDocumentDiffer
focal_class.modifiers: public
focal_class.parameters: (DocumentNodeStore nodeStore)
focal_class.signature:  BundledDocumentDiffer(DocumentNodeStore nodeStore)
focal_class.class_method_signature: BundledDocumentDiffer.diff(AbstractDocumentNodeState from, AbstractDocumentNodeState to, JsopWriter w)
focal_class.full_signature: public boolean diff(AbstractDocumentNodeState from, AbstractDocumentNodeState to, JsopWriter w)
focal_class.identifier: diff
focal_class.modifiers: public
focal_class.parameters: (AbstractDocumentNodeState from, AbstractDocumentNodeState to, JsopWriter w)
focal_class.return: boolean
focal_class.signature: boolean diff(AbstractDocumentNodeState from, AbstractDocumentNodeState to, JsopWriter w)
focal_class.class_method_signature: BundledDocumentDiffer.diffChildren(Collection<String> fromChildren, Collection<String> toChildren, JsopWriter w)
focal_class.full_signature:  void diffChildren(Collection<String> fromChildren, Collection<String> toChildren, JsopWriter w)
focal_class.identifier: diffChildren
focal_class.parameters: (Collection<String> fromChildren, Collection<String> toChildren, JsopWriter w)
focal_class.return: void
focal_class.signature: void diffChildren(Collection<String> fromChildren, Collection<String> toChildren, JsopWriter w)
focal_class.class_method_signature: BundledDocumentDiffer.getDocumentNodeState(AbstractDocumentNodeState state)
focal_class.full_signature: private DocumentNodeState getDocumentNodeState(AbstractDocumentNodeState state)
focal_class.identifier: getDocumentNodeState
focal_class.modifiers: private
focal_class.parameters: (AbstractDocumentNodeState state)
focal_class.return: DocumentNodeState
focal_class.signature: DocumentNodeState getDocumentNodeState(AbstractDocumentNodeState state)
focal_method.body: void diffChildren(Collection<String> fromChildren, Collection<String> toChildren, JsopWriter w){
          for (String n : fromChildren){
              if (!toChildren.contains(n)){
                  w.tag('-').value(n);
              } else {
                  //As lastRev for bundled node is same as parent node and they differ it means
                  //children "may" also diff
                  w.tag('^').key(n).object().endObject();
              }
          }
  
          for (String n : toChildren){
              if (!fromChildren.contains(n)){
                  w.tag('+').key(n).object().endObject();
              }
          }
      }
focal_method.class_method_signature: BundledDocumentDiffer.diffChildren(Collection<String> fromChildren, Collection<String> toChildren, JsopWriter w)
focal_method.full_signature:  void diffChildren(Collection<String> fromChildren, Collection<String> toChildren, JsopWriter w)
focal_method.identifier: diffChildren
focal_method.invocations: contains value tag endObject object key tag contains endObject object key tag
focal_method.parameters: (Collection<String> fromChildren, Collection<String> toChildren, JsopWriter w)
focal_method.return: void
focal_method.signature: void diffChildren(Collection<String> fromChildren, Collection<String> toChildren, JsopWriter w)