code: public static <T> void randomSample(List<T> source, List<T> dest, int samples)
      {
          randomSample(source, dest, samples, RandomUtil.getRandom());
      }
docs: Obtains a random sample without replacement from a source list and places
  it in the destination list. This is done without modifying the source list.
  
  @param <T> the list content type involved
  @param source the source of values to randomly sample from
  @param dest the list to store the random samples in. The list does not
  need to be empty for the sampling to work correctly
  @param samples the number of samples to select from the source
  @throws IllegalArgumentException if the sample size is not positive or l
  arger than the source population.