### Question:
MethodList implements Iterable<AnnotatedMethod> { @Override public Iterator<AnnotatedMethod> iterator() { return Arrays.asList(methods).iterator(); } MethodList(Class<?> c);  MethodList(Class<?> c, boolean declaredMethods);  MethodList(Collection<Method> methods);  MethodList(Method... methods);  MethodList(AnnotatedMethod... methods); @Override Iterator<AnnotatedMethod> iterator(); MethodList isNotPublic(); MethodList hasNumParams(final int paramCount); MethodList hasReturnType(final Class<?> returnType); MethodList nameStartsWith(final String prefix); MethodList withAnnotation(final Class<T> annotation); MethodList withMetaAnnotation(final Class<T> annotation); MethodList withoutAnnotation(final Class<T> annotation); MethodList withoutMetaAnnotation(final Class<T> annotation); MethodList filter(Filter filter);  }### Answer:
@Test public void testSyntheticMethods() { assertTrue(CSynthetic.CWithField.class.getDeclaredMethods().length == 2); MethodList ml = new MethodList(CSynthetic.CWithField.class, true); assertTrue(!ml.iterator().hasNext()); }