@Override
    public boolean eval(Object arg) {
        QueryableEntry entry = (QueryableEntry) arg;
        Data keyData = entry.getKeyData();
        return (key == null || key.equals(keyData)) && predicate.apply((Map.Entry) arg);
    }
@Test
    public void testEval_givenFilterContainsKey_whenKeyOfEntryIsEqualAndPredicacteIsMatching_thenReturnTrue() {
        //given
        Data key1 = serializationService.toData("key1");
        Predicate<Object, Object> predicate = Predicates.alwaysTrue();
        QueryEventFilter filter = new QueryEventFilter(key1, predicate, true);

        //when
        Data key2 = serializationService.toData("key1");
        QueryableEntry entry = mockEntryWithKeyData(key2);

        //then
        boolean result = filter.eval(entry);
        assertTrue(result);
    }