docs: private static Map<TypeVariable<?>, Type> invert(Map<TypeVariable<?>, Type> m) {
          final TypeVariableMap result = new TypeVariableMap();
          for (Map.Entry<TypeVariable<?>, Type> e : m.entrySet()) {
              if (e.getValue() instanceof TypeVariable<?>) {
                  result.put((TypeVariable<?>) e.getValue(), e.getKey());
              }
          }
          return result;
      }