@Override public Iterable<AnnotationParameter> getUnknownAttributes(Annotation annotation) { final Iterable<String> parameterNames = Iterables.transform(definedAttributes, new AnnotationDefinitionParameterName()); return Iterables.filter( annotation.getParameters(), new Predicate<AnnotationParameter>() { @Override public boolean apply(AnnotationParameter input) { Preconditions.checkNotNull(input, "input"); return !Iterables.contains(parameterNames, input.getName()); } }); }
private Iterable<String> getParameterNames(Annotation annotation) { return Iterables.transform(annotation.getParameters(), new AnnotationParameterName()); }