private static <T> List<T> asUnmodifiableList(List<T> original, T[] element) {
        final List<T> copy = new ArrayList<>(original);
        addAll(copy, element);
        return unmodifiableList(copy);
    }
Creates a copy of the specified list and adds the specified elements to
it before returning it as an immutable list.

@param <T>       the element type
@param original  the original list
@param element   elements to add
@return          the new immutable list
runtime-parent/runtime-field/src/main/java/com/speedment/runtime/field/internal/util/CollectionUtil.java