docs: private static Type processTypeForDescendantLookup(Type type) {
          if (type instanceof ParameterizedType) {
              return ((ParameterizedType) type).getRawType();
          } else {
              return type;
          }
      }