@SuppressWarnings("unchecked")
  public <T extends Expression> T rewrite(final T expression, final C context) {
    return (T) rewriter.process(expression, context);
  }
@Test
  public void shouldRewriteQualifiedColumnReference() {
    // Given:
    final QualifiedColumnReferenceExp expression = new QualifiedColumnReferenceExp(
        SourceName.of("bar"),
        ColumnName.of("foo")
    );

    // When:
    final Expression rewritten = expressionRewriter.rewrite(expression, context);

    // Then:
    assertThat(rewritten, is(expression));
  }