do { if (isElement(child)) pos++; } while ((pos < _pos) && (child = _nextSibling[child]) != 0);
if (_ourtype != -1) { do { if (isElement(child) && _type[child] == _ourtype) pos++; } while ((pos<_pos) && (child = _nextSibling[child]) != 0); } else { do { if (isElement(child)) pos++; } while ((pos<_pos) && (child = _nextSibling[child]) != 0); }
	public int next() {	    int node;	    while ((node = super.next()) != END) {		int parent = _parent[node];		int child = _offsetOrChild[parent];		int pos = 0;		do {		    if (isElement(child)) pos++;		} while ((pos < _pos) && (child = _nextSibling[child]) != 0);		if (node == child) return node;	    }	    return(END);	}