static Collection<Method> getAllMethods(Class<?> owner, Predicate<? super Method> predicate) {
        return getAll(owner, Class::getDeclaredMethods).filter(predicate).collect(toList());
    }
@Test
    public void getAllMethods() {
        Collection<Method> methods = ReflectionUtils.getAllMethods(Child.class, named("overrideMe"));

        assertThat(methods).containsOnly(
                method(Child.class, "overrideMe"),
                method(UpperMiddle.class, "overrideMe"),
                method(LowerMiddle.class, "overrideMe"),
                method(Parent.class, "overrideMe")
        );
    }