static O[] paramsPlus(O[] a1, O... a2) { if (a2 == null) ret a1; if (a1 == null) ret a2; if (l(a1) == 1 && a1[0] instanceof Map) ret new O[] { mapPlus((Map) a1[0], a2) }; assertEvenLength(a1); assertEvenLength(a2); Map map = paramsToOrderedMap(a1); int n = l(a2); for (int i = 0; i < n; i += 2) { O key = a2[i]; if (key != null) map.put(key, a2[i+1]); } ret mapToParams(map); } static O[] paramsPlus(Map a1, O... a2) { ret paramsPlus(new O[] {a1}, a2); }