protected T ClearAncestor() { Ancestor = null; return((T)this); }
protected T AssignAncestor(T newData) { newData.Ancestor = Ancestor ?? this; Ancestor = null; return(newData); }