@Nullable
    private Object invoke(ServiceRequestContext ctx, HttpRequest req, AggregatedResult aggregatedResult) {
        try (SafeCloseable ignored = ctx.push()) {
            final ResolverContext resolverContext = new ResolverContext(ctx, req, aggregatedResult);
            final Object[] arguments = AnnotatedValueResolver.toArguments(resolvers, resolverContext);
            maybeLogRequestContent(ctx, arguments);

            final Object res;
            if (isKotlinSuspendingMethod) {
                assert callKotlinSuspendingMethod != null;
                final ScheduledExecutorService executor;
                // The request context will be injected by ArmeriaRequestCoroutineContext
                if (useBlockingTaskExecutor) {
                    executor = ctx.blockingTaskExecutor().withoutContext();
                } else {
                    executor = ctx.eventLoop().withoutContext();
                }
                res = callKotlinSuspendingMethod.invoke(
                        method, object, arguments,
                        executor,
                        ctx);
            } else {
                res = methodHandle.invoke(arguments);
            }
            maybeLogResponseContent(ctx, res);
            return res;
        } catch (Throwable cause) {
            // just in case the deferred log is never completed
            ctx.logBuilder().requestContent(null, null);
            // no need to log the failed HttpResponse as content
            maybeLogResponseContent(ctx, null);
            return HttpResponse.ofFailure(cause);
        }
    }
Invokes the service method with arguments.
core/src/main/java/com/linecorp/armeria/internal/server/annotation/DefaultAnnotatedService.java