@Udf
  public <T> T asValue(final T keyColumn) {
    return keyColumn;
  }
@Test
  public void shouldHandlePrimitiveTypes() {
    assertThat(udf.asValue(Boolean.TRUE), is(Boolean.TRUE));
    assertThat(udf.asValue(Integer.MIN_VALUE), is(Integer.MIN_VALUE));
    assertThat(udf.asValue(Long.MAX_VALUE), is(Long.MAX_VALUE));
    assertThat(udf.asValue(Double.MAX_VALUE), is(Double.MAX_VALUE));
    assertThat(udf.asValue("string"), is("string"));
  }