else
} else {
    private void addPattern(int kernelType, LocationPathPattern pattern) {	// Make sure the array of pattern groups is long enough	final int oldLength = _patternGroups.length;	if (kernelType >= oldLength) {	    Vector[] newGroups = new Vector[kernelType * 2];	    System.arraycopy(_patternGroups, 0, newGroups, 0, oldLength);	    _patternGroups = newGroups;	}		// Find the vector to put this pattern into	Vector patterns;	// Use the vector for id()/key()/node() patterns if no kernel type	patterns = (kernelType == -1) ? _nodeGroup : _patternGroups[kernelType];	// Create a new vector if needed and insert the very first pattern	if (patterns == null) {	    patterns = new Vector(2);	    patterns.addElement(pattern);	    if (kernelType == -1)		_nodeGroup = patterns;	    else		_patternGroups[kernelType] = patterns;	}	// Otherwise make sure patterns are ordered by precedence/priorities	else {	    boolean inserted = false;	    for (int i = 0; i < patterns.size(); i++) {		final LocationPathPattern lppToCompare =		    (LocationPathPattern)patterns.elementAt(i);		if (pattern.noSmallerThan(lppToCompare)) {		    inserted = true;		    patterns.insertElementAt(pattern, i);		    break;		}	    }	    if (inserted == false) {		patterns.addElement(pattern);	    }	}    }