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;
}

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 ; }
maps the non - null values from one type to another type using a non - null mapper function .
