checkCollection(new ArrayList<TestGeneric>(), getType("Generic", List.class), g1, g2);
checkCollection(new HashSet<TestGeneric>(), g1, g2);
checkCollection(new HashSet<TestGeneric>(), Set.class, g1, g2);
checkCollection(new HashSet<TestGeneric>(), getType("Generic", Set.class), g1, g2);
TestSimpleComposite c1 = new TestSimpleComposite("123");
TestSimpleComposite c2 = new TestSimpleComposite("123");
checkCollection(new ArrayList<TestSimpleComposite>(), c1, c2);
checkCollection(new ArrayList<TestSimpleComposite>(), List.class, c1, c2);
checkCollection(new ArrayList<TestSimpleComposite>(), getType("Composite", List.class), c1, c2);
checkCollection(new HashSet<TestSimpleComposite>(), c1, c2);
checkCollection(new HashSet<TestSimpleComposite>(), Set.class, c1, c2);