public virtual Tree RemoveFirst() { if (_preceding == null) { return(_subsequent); } _preceding = _preceding.RemoveFirst(); CalculateSize(); return(this); }