question: public static < I , M , E extends Exception > List < M > transformList ( final Collection < I > values , final Function < I , M , E > mapper ) throws E { Reject . ifNull ( values , mapper ) ; final List < M > newList = new ArrayList < M > ( values . size ( ) ) ; for ( I value : values ) { newList . add ( mapper . apply ( value ) ) ; } return newList ; }
target:  Maps the non-null values from one type to another type using a non-null mapper function.