public virtual int GetDepth() { if (this.parent == null) return 1; else return this.parent.GetDepth() + 1; }