code: public void enlistWithTransaction(javax.transaction.Synchronization sync)
                      throws CSIException
      {
          SynchronizationRegistryUOWScope uowScope = getCurrentTransactionalUOW(false);
          if (uowScope == null)
          {
              throw new IllegalStateException("No active transaction");
          }
  
          enlistWithTransaction(uowScope, sync);
      }
docs: Enlist synchronization instance with the current local or global
  transaction.