a-foundation/src/main/java/com/ajjpj/afoundation/collection/ACollectionHelper.java
@SuppressWarnings("unchecked")
    public static <T> AArrayWrapper<T> asArrayCopy(T[] c) {
        final T[] newArray = (T[]) Array.newInstance(c.getClass().getComponentType(), c.length);
        System.arraycopy(c, 0, newArray, 0, c.length);
        return new AArrayWrapper<>(newArray);
    }
@SuppressWarnings("unchecked")
    public static <T> AArrayWrapper<T> asArrayCopy(T[] c) {
        final T[] newArray = (T[]) Array.newInstance(c.getClass().getComponentType(), c.length);
        System.arraycopy(c, 0, newArray, 0, c.length);
        return new AArrayWrapper<>(newArray);
    }
Copies the content of an array into an (immutable) <code>ACollection</code> instance. Subsequent
changes to the underlying array have no effect on the returned <code>ACollection</code> instance.<p>

The returned collection has list semantics with regard to <code>map()</code> and other modifying methods;
duplicate values are allowed.