docs: private Object executeCommandWithInjectedTx(InvocationContext ctx, VisitableCommand command) {
        final Object result;
        try {
           result = invoker.invoke(ctx, command);
        } catch (Throwable e) {
           tryRollback();
           throw e;
        }
        tryCommit();
        return result;
     }