public Set<DescriptiveTypeSignature> findDescriptiveTypes(boolean request) {
        final Set<DescriptiveTypeSignature> collectedDescriptiveTypes = new HashSet<>();
        methods().forEach(m -> {
            if (request) {
                m.parameters().forEach(p -> findDescriptiveTypes(collectedDescriptiveTypes, p.typeSignature()));
            } else {
                findDescriptiveTypes(collectedDescriptiveTypes, m.returnTypeSignature());
                m.exceptionTypeSignatures().forEach(s -> findDescriptiveTypes(collectedDescriptiveTypes, s));
            }
        });
        return ImmutableSet.copyOf(collectedDescriptiveTypes);
    }
Returns all {@link TypeSignature} of {@link MethodInfo#parameters()} of {@link #methods()} if
{@code request} is set to true. Otherwise, returns all {@link MethodInfo#returnTypeSignature()} and
{@link MethodInfo#exceptionTypeSignatures()} of the {@link #methods()}.
core/src/main/java/com/linecorp/armeria/server/docs/ServiceInfo.java