int l=path.indexOf(';'); if (l<0) { l=path.indexOf('?'); if (l<0) l=path.length(); }
int l=path.length();
    public Object getLazyMatches(String path)    {                Map.Entry entry;        Object entries=null;        if (path==null)            return LazyList.getList(entries);                int l=path.indexOf(';');        if (l<0)        {            l=path.indexOf('?');            if (l<0)                l=path.length();        }        // try exact match        entry=_exactMap.getEntry(path,0,l);        if (entry!=null)            entries=LazyList.add(entries,entry.getValue());                // prefix search        int i=l-1;        while((i=path.lastIndexOf('/',i-1))>=0)        {            entry=_prefixMap.getEntry(path,0,i);            if (entry!=null)                entries=LazyList.add(entries,entry.getValue());        }                // Prefix Default        if (_prefixDefault!=null)            entries=LazyList.add(entries,_prefixDefault);                // Extension search        i=0;        while ((i=path.indexOf('.',i+1))>0)        {            entry=_suffixMap.getEntry(path,i+1,l-i-1);            if (entry!=null)                entries=LazyList.add(entries,entry.getValue());        }        // Default        if (_default!=null)        {            // Optimization for just the default            if (entries==null)                return _defaultSingletonList;                        entries=LazyList.add(entries,_default);        }                return entries;    }