| getTypeArguments(Type, Class, Map) |   | 16% |   | 15% | 9 | 11 | 13 | 17 | 0 | 1 |
| isAssignable(Type, TypeVariable, Map) |  | 0% |  | 0% | 11 | 11 | 14 | 14 | 1 | 1 |
| isAssignable(Type, GenericArrayType, Map) |   | 42% |   | 46% | 11 | 15 | 11 | 25 | 0 | 1 |
| isAssignable(Type, Class) |   | 57% |   | 60% | 9 | 16 | 7 | 21 | 0 | 1 |
| unrollBounds(Map, Type[]) |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| isAssignable(Type, Type, Map) |   | 63% |   | 75% | 2 | 7 | 3 | 11 | 0 | 1 |
| unrollVariables(Map, Type) |   | 78% |   | 81% | 2 | 9 | 4 | 22 | 0 | 1 |
| getRawType(Type, Type) |   | 79% |   | 80% | 4 | 11 | 4 | 23 | 0 | 1 |
| toLongString(TypeVariable) |   | 77% |   | 50% | 2 | 4 | 2 | 14 | 0 | 1 |
| getClosestParentType(Class, Class) |   | 82% |   | 85% | 2 | 8 | 1 | 14 | 0 | 1 |
| substituteTypeVariables(Type, Map) |   | 57% |   | 66% | 2 | 4 | 1 | 6 | 0 | 1 |
| getRawType(ParameterizedType) |   | 42% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| isInstance(Object, Type) |   | 52% |   | 37% | 3 | 5 | 0 | 3 | 0 | 1 |
| lambda$extractTypeArgumentsFrom$3(TypeVariable) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isAssignable(Type, WildcardType, Map) |   | 96% |   | 89% | 3 | 15 | 3 | 30 | 0 | 1 |
| appendRecursiveTypes(StringBuilder, int[], Type[]) |   | 83% |   | 75% | 1 | 3 | 1 | 6 | 0 | 1 |
| mapTypeVariablesToArguments(Class, ParameterizedType, Map) |   | 91% |   | 62% | 3 | 5 | 1 | 13 | 0 | 1 |
| determineTypeArguments(Class, ParameterizedType) |   | 90% |   | 83% | 1 | 4 | 1 | 15 | 0 | 1 |
| isAssignable(Type, ParameterizedType, Map) |   | 95% |   | 85% | 4 | 15 | 2 | 25 | 0 | 1 |
| parameterizedTypeToString(ParameterizedType) |   | 93% |   | 83% | 1 | 4 | 1 | 14 | 0 | 1 |
| getTypeArguments(Class, Class, Map) |   | 90% |   | 90% | 1 | 6 | 1 | 10 | 0 | 1 |
| equals(Type[], Type[]) |   | 85% |   | 66% | 2 | 4 | 2 | 6 | 0 | 1 |
| parameterizeWithOwner(Type, Class, Type[]) |   | 97% |   | 75% | 2 | 5 | 0 | 12 | 0 | 1 |
| getTypeArguments(ParameterizedType, Class, Map) |   | 97% |   | 90% | 1 | 6 | 1 | 17 | 0 | 1 |
| typesSatisfyVariables(Map) |   | 96% |   | 83% | 1 | 4 | 1 | 9 | 0 | 1 |
| equals(WildcardType, Type) |  | 95% |   | 66% | 2 | 4 | 0 | 5 | 0 | 1 |
| containsTypeVariables(Type) |  | 100% |   | 95% | 1 | 11 | 0 | 15 | 0 | 1 |
| normalizeUpperBounds(Type[]) |  | 100% |  | 100% | 0 | 7 | 0 | 13 | 0 | 1 |
| classToString(Class) |  | 100% |  | 100% | 0 | 5 | 0 | 11 | 0 | 1 |
| typeVariableToString(TypeVariable) |  | 100% |   | 71% | 4 | 8 | 0 | 13 | 0 | 1 |
| wildcardTypeToString(WildcardType) |  | 100% |   | 83% | 2 | 7 | 0 | 8 | 0 | 1 |
| toString(Type) |  | 100% |  | 100% | 0 | 6 | 0 | 12 | 0 | 1 |
| isCyclical(Class) |  | 100% |  | 100% | 0 | 4 | 0 | 5 | 0 | 1 |
| extractTypeArgumentsFrom(Map, TypeVariable[]) |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 |
| findRecursiveTypes(ParameterizedType) |  | 100% |  | 100% | 0 | 4 | 0 | 7 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 15 | 0 | 1 |
| equals(Type, Type) |  | 100% |  | 100% | 0 | 5 | 0 | 9 | 0 | 1 |
| equals(ParameterizedType, Type) |  | 100% |   | 83% | 1 | 4 | 0 | 5 | 0 | 1 |
| getArrayComponentType(Type) |  | 100% |  | 100% | 0 | 4 | 0 | 6 | 0 | 1 |
| getImplicitLowerBounds(WildcardType) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| unrollVariableAssignments(TypeVariable, Map) |  | 100% |  | 100% | 0 | 3 | 0 | 6 | 0 | 1 |
| parameterize(Class, Map) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| parameterizeWithOwner(Type, Class, Map) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| equals(GenericArrayType, Type) |  | 100% |   | 75% | 1 | 3 | 0 | 1 | 0 | 1 |
| isArrayType(Type) |  | 100% |  | 100% | 0 | 4 | 0 | 1 | 0 | 1 |
| normalizeUpperToObject(Type[]) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| genericArrayTypeToString(GenericArrayType) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| anyToString(Object) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| genericArrayType(Type) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getImplicitBounds(TypeVariable) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getImplicitUpperBounds(WildcardType) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getTypeArguments(ParameterizedType) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$static$2(Appendable, Object) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$static$1(Appendable, TypeVariable) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$static$0(Appendable, Type) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| containsVariableTypeSameParametrizedTypeBound(TypeVariable, ParameterizedType) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getTypeArguments(Type, Class) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isAssignable(Type, Type) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| parameterize(Class, Type[]) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| wildcardType() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| wrap(Class) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| wrap(Type) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| TypeUtils() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$wrap$4(Type) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |