@Override
 public void rollback() throws TransactionFailureException {
   try {
     dropCreatedConstraintIndexes();
   } finally {
     super.rollback();
   }
 }
  @Override
  public void commit() throws TransactionFailureException {
    boolean success = false;
    try {
      createTransactionCommands();
      // - Ensure transaction is committed to disk at this point
      super.commit();
      success = true;
    } finally {
      if (!success) {
        dropCreatedConstraintIndexes();
      }
    }

    // - commit changes from tx state to the cache
    // TODO: This should be done by log application, not by this level of the stack.
    if (hasTxStateWithChanges()) {
      persistenceCache.apply(this.txState());
    }
  }