@Override
  public void afterCompletion(int status) {
    TransactionSynchronization[] txSyncArray =
        synchronizations.toArray(new TransactionSynchronization[synchronizations.size()]);

    for (TransactionSynchronization txSync : txSyncArray) {

      txSync.afterCompletion(status);
    }
  }
  @Override
  public void beforeCompletion() {
    TransactionSynchronization[] txSyncArray =
        synchronizations.toArray(new TransactionSynchronization[synchronizations.size()]);

    for (TransactionSynchronization txSync : txSyncArray) {

      txSync.beforeCompletion();
    }
  }