_startNode = node;
	public NodeIterator setStartNode(int node) {	    if (_isRestartable) {		_node = _startNode = _includeSelf ? node - 1 : node;		// no descendents if no children		if (hasChildren(node) == false) {		    // set _limit to match next()'s criteria for end		    _limit = node + 1;		}		// find leftmost descendant of next sibling		else if ((node = _nextSibling[node]) == 0) {		    // no next sibling, array end is the limit		    _limit = _treeNodeLimit;		}		else {		    _limit = leftmostDescendant(node);		}		return resetPosition();	    }	    return this;	}