static Map putKeysFirst(Map map, O... keys) { Map m2 = litorderedmap(); Map remaining = cloneMap(map); for (O key : keys) { if (remaining.containsKey(key)) { m2.put(key, remaining.get(key)); remaining.remove(key); } } m2.putAll(remaining); ret m2; } static Map putKeysFirst(L keys, Map map) { ret putKeysFirst(map, toObjectArray(keys)); }