private static ObjectParamMetadata parseObjectType(Class<?> type) {
      List<Field> allFields = new ArrayList();

      for (Class currentClass = type;
          currentClass != null;
          currentClass = currentClass.getSuperclass()) {
        Collections.addAll(allFields, currentClass.getDeclaredFields());
      }

      return new ObjectParamMetadata(
          allFields.stream()
              .filter(field -> !field.isSynthetic())
              .peek(field -> field.setAccessible(true))
              .collect(Collectors.toList()));
    }
the query map will be generated using member variable names as query parameter names.

<p>eg: "/uri?name={name}&number={number}"

<p>order of included query parameters not guaranteed, and as usual, if any value is null, it will
be left out
core/src/main/java/feign/querymap/FieldQueryMapEncoder.java