public <A extends Annotation> A getTypeParameterAnnotation(Class<A> annotationClass, Predicate<Annotation> considerOtherAnnotation,
                AnnotatedType annotatedContainerType, Integer containerItemIndex) {
        List<Annotation> annotationList = this.getTypeParameterAnnotations(annotatedContainerType, containerItemIndex)
                .collect(Collectors.toList());
        return this.getAnnotationFromList(annotationClass, annotationList, considerOtherAnnotation);
    }
Return the annotation of the given type from the annotated container's item, if such an annotation is present.
<br>
Additionally, also consider annotations on annotations, if the given predicate indicates another annotation as eligible for holding the target.

@param <A> type of annotation
@param annotationClass type of annotation
@param considerOtherAnnotation check whether some other annotation should also be checked for holding an instance of the target annotation
@param annotatedContainerType annotated container type that is considered if it is an {@link AnnotatedParameterizedType}
@param containerItemIndex parameter index of the desired item on the container type
@return annotation instance (or {@code null} if no annotation of the given type is present)

@since 4.30.0
jsonschema-generator/src/main/java/com/github/victools/jsonschema/generator/TypeContext.java