@Override
    public ServiceSpecification generateSpecification(Set<ServiceConfig> serviceConfigs,
                                                      DocServiceFilter filter,
                                                      DescriptiveTypeInfoProvider descriptiveTypeInfoProvider) {
        requireNonNull(serviceConfigs, "serviceConfigs");
        requireNonNull(filter, "filter");

        final Map<Class<?>, Set<MethodInfo>> methodInfos = new HashMap<>();
        final Map<Class<?>, DescriptionInfo> serviceDescription = new HashMap<>();
        serviceConfigs.forEach(sc -> {
            final AbstractGraphqlService service = sc.service().as(AbstractGraphqlService.class);
            if (service != null) {
                final String className = service.getClass().getName();
                if (!filter.test(name(), className, DEFAULT_METHOD_NAME)) {
                    return;
                }
                addMethodInfo(methodInfos, sc.virtualHost().hostnamePattern(), service, sc.route());
            }
        });

        return generate(serviceDescription, methodInfos);
    }
A {@link DocServicePlugin} implementation that supports the {@link AbstractGraphqlService}.
graphql/src/main/java/com/linecorp/armeria/internal/server/graphql/GraphqlDocServicePlugin.java