public bool IsEmpty() { if (this.list.Count != 0) for (var q = this.list.First; q != null; q = q.Next) if (!q.Data.IsEmpty()) return false; return this.tree.IsEmpty(); }