code: public final <T> T executeInTransaction(final Runnable<T> runnable) throws Exception {
          return executeInTransaction(runnable, true);
      }
docs: see executeInTransaction(runnable, clearAfterCommit) .
  
  @param <T>
  result type of runnable.run()
  @param runnable
  algorithm to execute
  @return return value of runnable.run()
  @throws Exception
  execution failed