static Set fieldObjectsInFieldOrder(Class c, Set fields) { try { var byName = mapToKey(f -> f.getName(), fields); new LinkedHashSet out; fOr (S name : getFieldOrder(c)) { Field f = byName.get(name); if (f != null) { byName.remove(name); out.add(f); } } addAll(out, fields); ret out; } catch print { ret fields; } }