/// <summary> /// Process is an optional recursive method for dealing with this objects' DataTree /// In future versions, it will likely be required by the interface. /// </summary> /// <param name="branch"></param> public void Process(DataTreeBranch branch) { foreach (object o in branch.Leaves) { //do something } foreach (DataTreeBranch subBranch in branch.Branches) { //recurse through all sub branches //of the tree Process(subBranch); } }