static O[] paramsPlus_noOverwrite(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) mapPut_noOverwrite(map, a2[i], a2[i+1]); ret mapToParams(map); }