assertTrue(result instanceof And);
Filter expected = ff.and(Arrays.asList(between, propertyNotNull("a"), propertyNotNull("b"), propertyNotNull("c")));
assertEquals(expected, result);
between = ff.between(ff.property("a"), ff.property("b"), ff.literal(10));
result = (Filter) between.accept(visitor, null);
assertTrue(result instanceof And);
expected = ff.and(Arrays.asList(between, propertyNotNull("a"), propertyNotNull("b")));
assertEquals(expected, result);
between = ff.between(ff.property("a"), ff.literal(5), ff.literal(10));