// copy must have same fields as original
assertEquals(Arrays.asList(f1, f2, f3), copy.getFields());
assertEquals(Arrays.asList(f1, f3), copy.getFields("name1"));
// modify original
original.removeFields("name1");
assertEquals(Arrays.asList(f2), original.getFields());
// copy may not be affected
assertEquals(Arrays.asList(f1, f2, f3), copy.getFields());
assertEquals(Arrays.asList(f1, f3), copy.getFields("name1"));