docs: private boolean matches(Class<?> type1, ParameterizedType type2) {
          if (!type1.equals(Reflections.getRawType(type2))) {
              return false;
          }
          return Types.isArrayOfUnboundedTypeVariablesOrObjects(type2.getActualTypeArguments());
      }