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: executorService = Executors.newCachedThreadPool()
test_class.modifier: private
test_class.original_string: private ExecutorService executorService = Executors.newCachedThreadPool();
test_class.type: ExecutorService
test_class.var_name: executorService
test_class.declarator: clock = new Clock.Virtual()
test_class.modifier: private
test_class.original_string: private Clock clock = new Clock.Virtual();
test_class.type: Clock
test_class.var_name: clock
test_class.file: oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/RollbackTest.java
test_class.identifier: RollbackTest
test_case.body: @Test
      public void rollbackNone() {
          Rollback.NONE.perform(new MemoryDocumentStore());
      }
test_case.class_method_signature: RollbackTest.rollbackNone()
test_case.full_signature: @Test public void rollbackNone()
test_case.identifier: rollbackNone
test_case.invocations: perform
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void rollbackNone()
focal_class.declarator: FAILED = new Rollback(Revision.newRevision(0),
              Collections.emptyList(), "", 1) {
  
          @Override
          void perform(@NotNull DocumentStore store) throws DocumentStoreException {
              throw new DocumentStoreException("rollback failed");
          }
      }
focal_class.modifier: static final
focal_class.original_string: static final Rollback FAILED = new Rollback(Revision.newRevision(0),
              Collections.emptyList(), "", 1) {
  
          @Override
          void perform(@NotNull DocumentStore store) throws DocumentStoreException {
              throw new DocumentStoreException("rollback failed");
          }
      };
focal_class.type: Rollback
focal_class.var_name: FAILED
focal_class.declarator: NONE = new Rollback(Revision.newRevision(0),
              Collections.emptyList(), "", 1) {
  
          @Override
          void perform(@NotNull DocumentStore store) throws DocumentStoreException {
          }
      }
focal_class.modifier: static final
focal_class.original_string: static final Rollback NONE = new Rollback(Revision.newRevision(0),
              Collections.emptyList(), "", 1) {
  
          @Override
          void perform(@NotNull DocumentStore store) throws DocumentStoreException {
          }
      };
focal_class.type: Rollback
focal_class.var_name: NONE
focal_class.declarator: revision
focal_class.modifier: private final
focal_class.original_string: private final Revision revision;
focal_class.type: Revision
focal_class.var_name: revision
focal_class.declarator: changed
focal_class.modifier: private final
focal_class.original_string: private final List<UpdateOp> changed;
focal_class.type: List<UpdateOp>
focal_class.var_name: changed
focal_class.declarator: commitRootId
focal_class.modifier: private final
focal_class.original_string: private final String commitRootId;
focal_class.type: String
focal_class.var_name: commitRootId
focal_class.declarator: batchSize
focal_class.modifier: private final
focal_class.original_string: private final int batchSize;
focal_class.type: int
focal_class.var_name: batchSize
focal_class.file: oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/Rollback.java
focal_class.identifier: Rollback
focal_class.class_method_signature: Rollback.Rollback(@NotNull Revision revision,
               @NotNull List<UpdateOp> changed,
               @NotNull String commitRootId,
               int batchSize)
focal_class.full_signature:   Rollback(@NotNull Revision revision,
               @NotNull List<UpdateOp> changed,
               @NotNull String commitRootId,
               int batchSize)
focal_class.identifier: Rollback
focal_class.parameters: (@NotNull Revision revision,
               @NotNull List<UpdateOp> changed,
               @NotNull String commitRootId,
               int batchSize)
focal_class.signature:  Rollback(@NotNull Revision revision,
               @NotNull List<UpdateOp> changed,
               @NotNull String commitRootId,
               int batchSize)
focal_class.class_method_signature: Rollback.perform(@NotNull DocumentStore store)
focal_class.full_signature:  void perform(@NotNull DocumentStore store)
focal_class.identifier: perform
focal_class.parameters: (@NotNull DocumentStore store)
focal_class.return: void
focal_class.signature: void perform(@NotNull DocumentStore store)
focal_class.class_method_signature: Rollback.removeCollisionMarker(DocumentStore store, String id)
focal_class.full_signature: private void removeCollisionMarker(DocumentStore store, String id)
focal_class.identifier: removeCollisionMarker
focal_class.modifiers: private
focal_class.parameters: (DocumentStore store, String id)
focal_class.return: void
focal_class.signature: void removeCollisionMarker(DocumentStore store, String id)
focal_method.body: void perform(@NotNull DocumentStore store) throws DocumentStoreException {
          checkNotNull(store);
          List<UpdateOp> reverseOps = new ArrayList<>();
          for (UpdateOp op : changed) {
              UpdateOp reverse = op.getReverseOperation();
              if (op.isNew()) {
                  NodeDocument.setDeletedOnce(reverse);
              }
              // do not create document if it doesn't exist
              reverse.setNew(false);
              reverseOps.add(reverse);
          }
          for (List<UpdateOp> ops : partition(reverseOps, batchSize)) {
              store.createOrUpdate(NODES, ops);
          }
          removeCollisionMarker(store, commitRootId);
      }
focal_method.class_method_signature: Rollback.perform(@NotNull DocumentStore store)
focal_method.full_signature:  void perform(@NotNull DocumentStore store)
focal_method.identifier: perform
focal_method.invocations: checkNotNull getReverseOperation isNew setDeletedOnce setNew add partition createOrUpdate removeCollisionMarker
focal_method.parameters: (@NotNull DocumentStore store)
focal_method.return: void
focal_method.signature: void perform(@NotNull DocumentStore store)