public Expression rewrite(final Expression expression) {
    return new ExpressionTreeRewriter<>(new OperatorPlugin()::process)
        .rewrite(expression, null);
  }
@Test
  public void shouldNotReplaceSupportedInFunction() {
    // Given:
    final Expression predicate = getPredicate(
        "SELECT * FROM orders where foo(ROWTIME) = '2017-01-01';");

    // When:
    final Expression rewritten = rewriter.rewrite(predicate);

    // Then:
    verify(parser, never()).parse(any());
    assertThat(rewritten.toString(), containsString("(FOO(ORDERS.ROWTIME) = '2017-01-01')"));
  }