docs: private boolean customComparatorAvailable(Class<?> providerClass) {
          if (providerComparator != null) {
              Type type = ((ParameterizedType)providerComparator.getClass()
                  .getGenericInterfaces()[0]).getActualTypeArguments()[0];
              if (type instanceof ParameterizedType) {
                  ParameterizedType pt = (ParameterizedType)type;
                  if (pt.getRawType() == ProviderInfo.class) {
                      Type type2 = pt.getActualTypeArguments()[0];
                      if (type2 == providerClass
                          || type2 instanceof WildcardType
                          || type2 instanceof ParameterizedType
                             && ((ParameterizedType)type2).getRawType() == providerClass) {
                          return true;
                      }
                  }
              } else if (type == Object.class) {
                  return true;
              }
          }
          return false;
      }