/** * Applies the provided matchers to an iteration og generic types' erasures. As a wildcard does not define an erasure, a runtime * exception is thrown when this matcher is applied to a wildcard. * * @param matcher The matcher to apply at the erased types. * @param <T> The type of the matched object. * @return A matcher that matches an iteration of generic types' raw types against the provided matcher. */ public static <T extends Iterable<? extends TypeDescription.Generic>> ElementMatcher.Junction<T> erasures( ElementMatcher<? super Iterable<? extends TypeDescription>> matcher) { return new CollectionErasureMatcher<T>(matcher); }