static Collection<Field> getAllFields(Class<?> owner, Predicate<? super Field> predicate) {
        return getAll(owner, Class::getDeclaredFields).filter(predicate).collect(toList());
    }
@Test
    public void getAllFields_of_interface() {
        assertThat(ReflectionUtils.getAllFields(Subinterface.class, alwaysTrue()))
                .containsOnly(
                        field(SomeInterface.class, "SOME_CONSTANT"),
                        field(OtherInterface.class, "OTHER_CONSTANT"));
    }