public IteratorQueue(Iterator<T> iter) {this.iter = iter;T removeTop = removeTop();assert removeTop == null;}
public IteratorQueue(IEnumerator<T> iter){this.iter = iter;T removeTop = RemoveTop();Debug.Assert( removeTop == null);}