public static UpdateTableRequest fromJson(String json) {
    return JsonUtil.parse(json, UpdateTableRequestParser::fromJson);
  }
@Test
  public void invalidTableIdentifier() {
    // table identifier is optional
    UpdateTableRequest request =
        UpdateTableRequestParser.fromJson("{\"requirements\" : [], \"updates\" : []}");
    assertThat(request.identifier()).isNull();

    assertThatThrownBy(() -> UpdateTableRequestParser.fromJson("{\"identifier\" : {}}}"))
        .isInstanceOf(IllegalArgumentException.class)
        .hasMessage("Cannot parse missing string: name");

    assertThatThrownBy(
            () -> UpdateTableRequestParser.fromJson("{\"identifier\" : { \"name\": 23}}}"))
        .isInstanceOf(IllegalArgumentException.class)
        .hasMessage("Cannot parse to a string value: name: 23");
  }