@Udf
  public <T> List<String> mapKeys(final Map<String, T> input) {
    if (input == null) {
      return null;
    }
    return Lists.newArrayList(input.keySet());
  }
@Test
  public void shouldReturnNullsFromMapWithNulls() {
    final Map<String, Integer> input = Maps.newHashMap();
    input.put("foo", 1);
    input.put(null, null);
    input.put("bar", null);
    List<String> result = udf.mapKeys(input);
    assertThat(result, containsInAnyOrder(null, "foo", "bar"));
  }