class Operations {

    public static <T extends IPerson> Set<T> getByFriendliness(Configuration<T> configuration, double value) {
        return filterMatchingPersons(configuration, t -> t.getValue() == value);
    }

}

class OperationsTest {

    private Configuration<Person> configuration;

    @Test
    @DisplayName("Get by friendliness")
    void getByFriendliness() {

        assertEquals("bar", Operations.getByFriendliness(configuration, 2).stream().findAny().get().getName());
    }

}