static Set putSetElementsFirst(Cl cl, Cl elements) { Set inputSet = asSet(cl); new LinkedHashSet set; fOr (A a : elements) if (contains(inputSet, a)) set.add(a); addAll(set, cl); // keep order ret set; } static Set putSetElementsFirst(Cl cl, A... elements) { ret putSetElementsFirst(cl, asList(elements)); }