docs: @Override
     public Object visitPrepareCommand(TxInvocationContext ctx, PrepareCommand command) throws Throwable {
        try {
           return (doBeforeCall(ctx, command)) ? handlePrepareCommand(ctx, command) : null;
        }
        finally {
           doAfterCall(ctx, command);
        }
     }