code: @Override
      public <R> FluentTransaction<R>.Intermediate transaction(Callable<R> callable) {
          return FluentTransaction.transaction(getTransactionManager()).with(callable);
      }
docs: Create a FluentTransaction, with the given transaction block.
  
  @param <R>       the return type of the transaction block
  @param callable, The transaction block to be executed by the returned FluentTransaction
  @return a new FluentTransaction with a transaction block already defined.
  @throws java.lang.UnsupportedOperationException if transactions are not supported.