/// /// <summary> * walk the tree starting at e. /// * </summary> /// * <param name="e"> the root element to walk </param> /// * <returns> n the number of traversed elements </returns> /// public virtual int walk(KElement e) { if (e == null) { return(0); } int n = 0; IWalker w = theFactory.getWalker(e); bool b = true; if (w != null) { n++; b = w.walk(e); } if (b) // follow kids if still alive { VElement v = e.getChildElementVector_KElement(null, null, null, true, -1); // do // not // follow // refelements int size = v.Count; for (int i = 0; i < size; i++) { KElement e2 = v[i]; n += walk(e2); } } return(n); }