checkCollection(new ArrayList<TestEnum>(), getType("Enum", List.class), one, two, three, one);
checkCollection(new HashSet<TestEnum>(), one, two, three, one);
checkCollection(new HashSet<TestEnum>(), Set.class, one, two, three, one);
checkCollection(new HashSet<TestEnum>(), getType("Enum", Set.class), one, two, three, one);
TestGeneric g1 = new TestGeneric("123");
TestGeneric g2 = new TestGeneric("123");
checkCollection(new ArrayList<TestGeneric>(), g1, g2);
checkCollection(new ArrayList<TestGeneric>(), List.class, g1, g2);
checkCollection(new ArrayList<TestGeneric>(), getType("Generic", List.class), g1, g2);
checkCollection(new HashSet<TestGeneric>(), g1, g2);
checkCollection(new HashSet<TestGeneric>(), Set.class, g1, g2);