public static FieldScope ignoringFields(int firstFieldNumber, int... rest) {
    return FieldScopeImpl.createIgnoringFields(asList(firstFieldNumber, rest));
  }
@Test
  public void testIgnoringTopLevelField_ignoringField() {
    expectThat(ignoringFieldDiffMessage)
        .ignoringFields(goodFieldNumber)
        .isNotEqualTo(ignoringFieldMessage);
    expectThat(ignoringFieldDiffMessage)
        .ignoringFields(badFieldNumber)
        .isEqualTo(ignoringFieldMessage);

    expectFailureWhenTesting()
        .that(ignoringFieldDiffMessage)
        .ignoringFields(goodFieldNumber)
        .isEqualTo(ignoringFieldMessage);
    expectIsEqualToFailed();
    expectThatFailure().hasMessageThat().contains("modified: r_string[0]: \"foo\" -> \"bar\"");

    expectFailureWhenTesting()
        .that(ignoringFieldDiffMessage)
        .ignoringFields(badFieldNumber)
        .isNotEqualTo(ignoringFieldMessage);
    expectIsNotEqualToFailed();
    expectThatFailure().hasMessageThat().contains("ignored: r_string");
  }