code: public R run(A... arg) throws E
     {
        final TransactionManager tm = getTransactionManager();
        Transaction tx = null;
        try
        {
           if (tm != null)
           {
              try
              {
                 tx = tm.suspend();
              }
              catch (SystemException e)
              {
                 LOG.warn("Cannot suspend the current transaction", e);
              }
           }
           return execute(arg);
        }
        finally
        {
           if (tx != null)
           {
              try
              {
                 tm.resume(tx);
              }
              catch (Exception e)
              {
                 LOG.warn("Cannot resume the current transaction", e);
              }
           }
        }      
     }
docs: Executes the action outside the context of the current tx
  @param arg the argument to use to execute the action
  @return the result of the action
  @throws E if an error occurs while executing the action