private static @Nullable <T> T readSingleProp(JsonPropertyAdapter adapter, String propName, Function<JsonValueAdapter, T> getterFunc) {
    if (propName.equals(adapter.getName())) {
      Collection<JsonValueAdapter> values = adapter.getValues();
      if (values.size() == 1) {
        return getterFunc.apply(values.iterator().next());
      }
    }
    return null;
  }
private static @Nullable <T> T readSingleProp(JsonPropertyAdapter adapter, String propName, Function<JsonValueAdapter, T> getterFunc)