code: public static <T extends ByteCodeElement> ElementMatcher.Junction<T> isDeclaredByGeneric(ElementMatcher<? super TypeDescription.Generic> matcher) {
          return new DeclaringTypeMatcher<T>(matcher);
      }
docs: Matches a {@link ByteCodeElement} for being declared by a {@link TypeDescription.Generic} that is matched by the given matcher.
  
  @param matcher A matcher for the declaring type of the matched byte code element as long as it is not {@code null}.
  @param <T>     The type of the matched object.
  @return A matcher for byte code elements being declared by a type matched by the given {@code matcher}.