List methods = collection.getMethods();
assertTrue(methods!=null);
assertFalse(methods.isEmpty());
assertEquals(methods.size(), 4);
Method m = ClassB.class.getDeclaredMethod("a", new Class[] {});
assertTrue(methods.indexOf(m) >= 0);
Sample s = (Sample)m.getAnnotation(Sample.class);
assertEquals(51, s.value());
m = ClassA.class.getDeclaredMethod("a", new Class[] {});
assertTrue(methods.indexOf(m) < 0); //check overridden public scope superclass method not in there