question: public static List < ? > cloneList ( List < ? > source ) { ParamChecks . nullNotPermitted ( source , "source" ) ; List result = new ArrayList ( ) ; for ( Object obj : source ) { if ( obj != null ) { try { result . add ( ObjectUtilities . clone ( obj ) ) ; } catch ( CloneNotSupportedException ex ) { throw new RuntimeException ( ex ) ; } } else { result . add ( null ) ; } } return result ; }
target:  Returns a list containing cloned copies of the items in the source list.