class MvcInterceptorManager extends WebInterceptorAdapter implements HandlerMappingListener, ApplicationContextAware, HandlerInterceptor, AsyncHandlerInterceptor {

	final protected Collection<AnnotationAttributes> findInterceptorAnnotationAttrsList(HandlerMethod hm){
		Set<Interceptor> inters = AnnotatedElementUtils.getMergedRepeatableAnnotations(hm.getMethod(), Interceptor.class);
		if(LangUtils.isEmpty(inters)){
			inters = AnnotatedElementUtils.getMergedRepeatableAnnotations(hm.getBeanType(), Interceptor.class);
		}
		if(LangUtils.isEmpty(inters)){
			return Collections.emptyList();
		}
		Collection<AnnotationAttributes> attrs = inters.stream()
														.map(inter->org.springframework.core.annotation.AnnotationUtils.getAnnotationAttributes(null, inter))
														.collect(Collectors.toSet());
		boolean hasDisabledFlag = attrs.stream()
										.anyMatch(attr->asMvcInterceptorMeta(attr).getInterceptorType()==DisableMvcInterceptor.class);
		if(hasDisabledFlag){
			return Collections.emptyList();
		}
		return attrs;
	}

}