@Override
    public List<Node> getChildren()
    {
        ImmutableList.Builder<Node> result = ImmutableList.<Node>builder()
                .add(value)
                .add(pattern);

        escape.ifPresent(result::add);

        return result.build();
    }
@Test
    public void testGetChildren()
    {
        StringLiteral value = new StringLiteral("a");
        StringLiteral pattern = new StringLiteral("b");
        StringLiteral escape = new StringLiteral("c");

        assertEquals(new LikePredicate(value, pattern, escape).getChildren(), ImmutableList.of(value, pattern, escape));
        assertEquals(new LikePredicate(value, pattern, Optional.empty()).getChildren(), ImmutableList.of(value, pattern));
    }