### Question:
AnnotationMethodParameterFilter implements MethodParameterFilter { public boolean matches(NativeWebRequest request, MethodParameter methodParameter) { for (Annotation ignoredAnnotation : methodParameter.getParameterAnnotations()) { if (this.ignoredAnnotations.contains(ignoredAnnotation.annotationType())) { return true; } } return false; } AnnotationMethodParameterFilter(Class<?>... ignoredAnnotations); boolean matches(NativeWebRequest request, MethodParameter methodParameter);  }### Answer:
@Test public void shouldFilterIgnoredAnnotations() throws Exception { Method method = ReflectionUtils .findMethod(C.class, "m", Object.class, Object.class, Object.class, Object.class); AnnotationMethodParameterFilter f = new AnnotationMethodParameterFilter(A1.class, A3.class); assertThat(f.matches(this.request, new MethodParameter(method, 0)), is(true)); assertThat(f.matches(this.request, new MethodParameter(method, 1)), is(false)); assertThat(f.matches(this.request, new MethodParameter(method, 2)), is(true)); assertThat(f.matches(this.request, new MethodParameter(method, 3)), is(true)); }