private void checkPackedInvariants( final TypeDeclPacked<IdentifierType, TType> tr, final TPacked tt) { Assert.assertEquals(tr.getName(), tt.getName()); Assert.assertEquals(tr.getIdentifier(), tt.getIdentifier()); final ImmutableMap<FieldName, PackedFieldDeclValue<IdentifierType, TType>> tr_named = tr.getFieldsByName(); final ImmutableMap<FieldName, TPacked.FieldValue> tt_named = tt.getFieldsByName(); final ImmutableList<PackedFieldDeclType<IdentifierType, TType>> tr_order = tr.getFieldsInDeclarationOrder(); final ImmutableList<TPacked.FieldType> tt_order = tt.getFieldsInDeclarationOrder(); Assert.assertEquals((long) tt_named.size(), (long) tr_named.size()); Assert.assertEquals((long) tt_order.size(), (long) tr_order.size()); for (int index = 0; index < tt_order.size(); ++index) { final TPacked.FieldType f = tt_order.get(index); Assert.assertEquals(f.getOwner(), tt); } tt_named.forEachKey( k -> Assert.assertTrue("Map contains " + k, tr_named.containsKey(k))); }