private List<ClassInfo> resolveHandledTypes(ClassInfo servletContainerInitializerClassInfo) {
		AnnotationInfo handlesTypes = servletContainerInitializerClassInfo.getAnnotationInfo(HANDLES_TYPES);

		Object[] value = (Object[]) handlesTypes.getParameterValues().get("value");

		return Arrays.stream(value)
				.map(AnnotationClassRef.class::cast)
				.map(annotationClassRef -> {
					ClassInfo classInfo = annotationClassRef.getClassInfo();
					if (classInfo == null) {
						log.warn("{} not found in the scan result, but declared in the @HandlesTypes annotation of {}", annotationClassRef.getName(), servletContainerInitializerClassInfo.getName());
					}
					return classInfo;
				})
				.filter(Objects::nonNull)
				.collect(Collectors.toList());
	}
private List < ClassInfo > resolveHandledTypes ( ClassInfo servletContainerInitializerClassInfo ) { AnnotationInfo handlesTypes = servletContainerInitializerClassInfo . getAnnotationInfo ( HANDLES_TYPES ) ; Object [ ] value = ( Object [ ] ) handlesTypes . getParameterValues ( ) . get ( "value" ) ; return Arrays . stream ( value ) . map ( AnnotationClassRef . class :: cast ) . map ( annotationClassRef -> { ClassInfo classInfo = annotationClassRef . getClassInfo ( ) ; if ( classInfo == null ) { log . warn ( "{} not found in the scan result, but declared in the @HandlesTypes annotation of {}" , annotationClassRef . getName ( ) , servletContainerInitializerClassInfo . getName ( ) ) ; } return classInfo ; } ) . filter ( Objects :: nonNull ) . collect ( Collectors . toList ( ) ) ; }
Resolves the {@link Class}[] of the {@code HandlesTypes}-annotations present on the given
{@code ServletContainerInitializer} implementation.

@param servletContainerInitializerClassInfo The {@link ClassInfo} object representing the {@code ServletContainerInitializer} implementation
@return The classes listed in the {@code HandlesTypes} annotation of the given class.