public static <T> T[] cloneAll(T[] input) { T[] output = ArrayUtil.newInstance(ArrayUtil.componentType(input), input.length); for (int i = 0; i < input.length; i++) output[i] = clone(input[i]); return output; }