code: public <T> T doInTransaction(final SpecificTxAction<T, C> action) {
          return doInTransaction(null, action);
      }
docs: Error is propagated if runtime or rethrown as runtime exception.
  
  @param action action to execute within transaction (new or ongoing)
  @param <T>    return value type
  @return value produced by action