docs: public void forceInsert(final List<ForceInsertItem> items) throws DocumentException {
          Misc.checkState(this.isOpen(), "Database is closed");
  
          for (ForceInsertItem item : items) {
              Misc.checkNotNull(item.rev, "Input document revision");
              Misc.checkNotNull(item.revisionHistory, "Input revision history");
              Misc.checkArgument(item.revisionHistory.size() > 0, "Input revision history " +
                      "must not be empty");
  
              Misc.checkArgument(checkCurrentRevisionIsInRevisionHistory(item.rev, item
                      .revisionHistory), "Current revision must exist in revision history.");
              Misc.checkArgument(checkRevisionIsInCorrectOrder(item.revisionHistory),
                      "Revision history must be in right order.");
              CouchUtils.validateDocumentId(item.rev.getId());
              CouchUtils.validateRevisionId(item.rev.getRevision());
          }
  
          try {
              // for raising events after completing database transaction
              List<DocumentModified> events = queue.submitTransaction(new ForceInsertCallable(items, attachmentsDir, attachmentStreamFactory)).get();
  
              // if we got here, everything got written to the database successfully
              // now raise any events we stored up
              for (DocumentModified event : events) {
                  eventBus.post(event);
              }
  
          } catch (InterruptedException e) {
              throw new RuntimeException(e);
          } catch (ExecutionException e) {
              throw new DocumentException(e);
          }
  
      }