static void findDescriptiveTypes(Set<DescriptiveTypeSignature> collectedDescriptiveTypes,
                                     TypeSignature typeSignature) {
        final TypeSignatureType type = typeSignature.type();
        if (type.hasTypeDescriptor()) {
            collectedDescriptiveTypes.add((DescriptiveTypeSignature) typeSignature);
            return;
        }

        if (typeSignature instanceof ContainerTypeSignature) {
            ((ContainerTypeSignature) typeSignature)
                    .typeParameters()
                    .forEach(p -> findDescriptiveTypes(collectedDescriptiveTypes, p));
        }
    }
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