public Object next() {
		if(this.selection.size() == 0 || this.weight.size() == 0 || this.weightsum.size() == 0) return null;
		Integer j = r.nextInt(this.weightsum.get(this.weightsum.size()-1));
		Integer i;
		for(i = 0; j > this.weightsum.get(i); i++);
		return this.selection.get(i);
	}