public T removeTop() {T currentTop = top;if (iter.hasNext()) {top = iter.next();} else {top = null;}return currentTop;}
public T RemoveTop(){T currentTop = top;if (iter.MoveNext()){top = iter.Current;}else{top = default(T);}return currentTop;}