docs: public static <T> List<T> randomSample(Collection<T> collection, int n) {
  		List<T> list = new ArrayList<T>(collection);
  		List<T> sample = new ArrayList<T>(n);
  		Random random = new Random();
  		while(n > 0  &&  !list.isEmpty()) {
  			int index = random.nextInt(list.size());
  			sample.add(list.get(index));
  			int indexLast = list.size() - 1;
  			T last = list.remove(indexLast);
  			if(index < indexLast) {
  				list.set(index, last);
  			}
  			n--;
  		}
  		return sample;
  	}