bundles/org.apache.jasper.glassfish/src/org/apache/jasper/runtime/TldScanner.java
@SuppressWarnings("unchecked")
    public String[] getLocation(String uri) throws JasperException {

        if (mappings == null) {
            // Recovering the map done in onStart.
            mappings = (HashMap<String, String[]>) ctxt.getAttribute(
                            Constants.JSP_TLD_URI_TO_LOCATION_MAP);
        }

        if (mappings != null && mappings.get(uri) != null) {
            // if the uri is in, return that, and dont bother to do full scan
            return mappings.get(uri);
        }

        if (! doneScanning) {
            scanListeners = false;
            scanTlds();
            doneScanning = true;
        }
        if (mappings == null) {
            // Should never happend
            return null;
        }
        return mappings.get(uri);
    }
@SuppressWarnings("unchecked")
    public String[] getLocation(String uri) throws JasperException {

        if (mappings == null) {
            // Recovering the map done in onStart.
            mappings = (HashMap<String, String[]>) ctxt.getAttribute(
                            Constants.JSP_TLD_URI_TO_LOCATION_MAP);
        }

        if (mappings != null && mappings.get(uri) != null) {
            // if the uri is in, return that, and dont bother to do full scan
            return mappings.get(uri);
        }

        if (! doneScanning) {
            scanListeners = false;
            scanTlds();
            doneScanning = true;
        }
        if (mappings == null) {
            // Should never happend
            return null;
        }
        return mappings.get(uri);
    }
Gets the 'location' of the TLD associated with the given taglib 'uri'.

Returns null if the uri is not associated with any tag library 'exposed'
in the web application. A tag library is 'exposed' either explicitly in
web.xml or implicitly via the uri tag in the TLD of a taglib deployed
in a jar file (WEB-INF/lib).

@param uri The taglib uri

@return An array of two Strings: The first element denotes the real
path to the TLD. If the path to the TLD points to a jar file, then the
second element denotes the name of the TLD entry in the jar file.
Returns null if the uri is not associated with any tag library 'exposed'
in the web application.

This method may be called when the scanning is in one of states:
1. Called from jspc script, then a full tld scan is required.
2. The is the first call after servlet initialization, then system jars
that are knwon to have tlds but not listeners need to be scanned.
3. Sebsequent calls, no need to scans.