@SuppressWarnings({"unchecked"})
        public static <T extends Copyable> List<T> copy(Collection<? extends T> stuff) {
            final List<Copyable<T>> l = new ArrayList<>(stuff.size());
            for (Copyable<T> copyable : stuff) {
                if (copyable != null) l.add(copyable.copy());
            }
            return (List<T>)l;
        }
@SuppressWarnings({"unchecked"})
        public static <T extends Copyable> List<T> copy(Collection<? extends T> stuff)