docs: public final Object invokeNext(InvocationContext ctx, VisitableCommand command) {
        try {
           if (nextDDInterceptor != null) {
              return command.acceptVisitor(ctx, nextDDInterceptor);
           } else {
              return nextInterceptor.visitCommand(ctx, command);
           }
        } catch (Throwable throwable) {
           return new SimpleAsyncInvocationStage(throwable);
        }
     }