simplify child skip logic.  factor out common code in GetChild and GetNext into Parse