static ViewHistoryEntry fromJson(String json) {
    return JsonUtil.parse(json, ViewHistoryEntryParser::fromJson);
  }
@Test
  public void testViewHistoryEntryMissingFields() {
    assertThatThrownBy(() -> ViewHistoryEntryParser.fromJson("{}"))
        .isInstanceOf(IllegalArgumentException.class)
        .hasMessage("Cannot parse missing int: version-id");

    assertThatThrownBy(() -> ViewHistoryEntryParser.fromJson("{\"timestamp-ms\":\"123\"}"))
        .isInstanceOf(IllegalArgumentException.class)
        .hasMessage("Cannot parse missing int: version-id");

    assertThatThrownBy(() -> ViewHistoryEntryParser.fromJson("{\"version-id\":1}"))
        .isInstanceOf(IllegalArgumentException.class)
        .hasMessage("Cannot parse missing long: timestamp-ms");
  }