assertEquals(ff.equals(ff.property("FID"), ff.literal("Forests.10")), primary);
List<Join> joins = visitor.getJoins();
assertEquals(2, joins.size());
Join j1 = joins.get(0);
assertEquals("Lakes", j1.getTypeName());
assertEquals("a", j1.getAlias());
assertEquals(ff.equals(ff.property("a.FID"), ff.property("b.FID")), j1.getJoinFilter());
assertEquals(ff.equals(ff.property("FID"), ff.literal("Lakes.10")), j1.getFilter());
Join j2 = joins.get(1);
assertEquals("Buildings", j2.getTypeName());
assertEquals("c", j2.getAlias());
assertEquals(ff.equals(ff.property("b.FID"), ff.property("c.FID")), j2.getJoinFilter());
assertEquals(ff.equals(ff.property("FID"), ff.literal("Buildings.10")), j2.getFilter());
}