public final T apply(Schema left, Schema right) {
    return visit(this, Context.EMPTY, FieldType.row(left), FieldType.row(right));
  }
@Test
  public void testListCommonFields() {
    assertThat(
        new ListCommonFields().apply(LEFT, RIGHT),
        containsInAnyOrder("f0", "f1", "f2", "f3", "f3.f0", "f3.f1"));
  }