class Lists {

    public static <V> List<V> deepCopy( Collection<V> collection ) {
        List<V> list = new ArrayList<>(collection.size());

        for (V v : collection) {
            list.add( BeanUtils.copy(v));
        }
        return list;
    }

}