{ 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(); }   entry=_exactMap.getEntry(path,0,l); if (entry!=null) entries=LazyList.add(entries,entry.getValue());   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()); }   if (_prefixDefault!=null) entries=LazyList.add(entries,_prefixDefault);   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()); }   if (_default!=null) {  if (entries==null) return _defaultSingletonList;  entries=LazyList.add(entries,_default); }  return LazyList.getList(entries);
{ return LazyList.getList(getLazyMatches(path));
    public List getMatches(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 LazyList.getList(entries);    }