public virtual bool MoveNext() { if (++p > 0) { return e.MoveNext(); } return true; } public virtual void Reset() {