private static void warnIfHttpResponseArgumentExists(Type returnType,
                                                         ParameterizedType type,
                                                         Class<?> originalReturnType) {
        for (final Type arg : type.getActualTypeArguments()) {
            if (arg instanceof ParameterizedType) {
                warnIfHttpResponseArgumentExists(returnType, (ParameterizedType) arg, originalReturnType);
            } else if (arg instanceof Class) {
                final Class<?> clazz = (Class<?>) arg;
                if (HttpResponse.class.isAssignableFrom(clazz) ||
                    AggregatedHttpResponse.class.isAssignableFrom(clazz)) {
                    logger.warn("{} in the return type '{}' may take precedence over {}.",
                                clazz.getSimpleName(), returnType, originalReturnType.getSimpleName());
                }
            }
        }
    }
An {@link HttpService} which is defined by a {@link Path} or HTTP method annotations.
This class is not supposed to be instantiated by a user. Please check out the documentation
<a href="https://armeria.dev/docs/server-annotated-service">Annotated HTTP Service</a> to use this.
core/src/main/java/com/linecorp/armeria/internal/server/annotation/DefaultAnnotatedService.java