
public class Range implements Runnable {
	
	IteratorHelper<Integer> h = new IteratorHelper<Integer>(this);
	
	private int b;
	private int e;
	
	public Range(int b, int e){
		this.b = b;
		this.e = e;
	}
	
	public boolean hasNext() {
		return h.hasNext();
	}
	
	public int next(){
		Integer i = h.get();
		return i.intValue();
	}

	@Override
	public synchronized void run() {
		int i;
		for ( i = b; i < e; i++){
			h.yield(new Integer(i));
		}
	}

}
