code: @Override
      public <A> A executeTransactionalBlock(Callable<A> callable) throws HasBeenRollBackException {
          return inTransaction(callable);
      }
docs: Executes the given runnable in a transaction. If the block throws an exception, the transaction is rolled back.
  This method may not be supported by all persistent technologies, as they are not necessary supporting
  transactions. In that case, this method throw a {@link java.lang.UnsupportedOperationException}.
  
  @param callable the block to execute in a transaction
  @return A the result
  @throws HasBeenRollBackException                      if the transaction has been rollback.
  @throws java.lang.UnsupportedOperationException       if transactions are not supported.
  @throws org.wisdom.api.model.InitTransactionException if an exception occurred before running the transaction block.
  @throws RollBackHasCauseAnException                   if an exception occurred when the transaction is rollback.