static O[] paramsWithout(O[] a1, O... keys) { if (l(a1) == 1 && a1[0] instanceof Map) ret new O[] { mapMinus((Map) a1[0], keys) }; Set set = lithashset(keys); new L l; for (int i = 0; i+1 < l(a1); i += 2) if (!set.contains(a1[i])) { l.add(a1[i]); l.add(a1[i+1]); } ret toObjectArray(l); }