org_eclipse_lemminx_extensions_contentmodel_DTDCompletionExtensionsTest_java
org.apache.xml.resolver.Catalog
protected String resolveLocalSystem(String systemId) throws MalformedURLException, IOException {
        String osname = System.getProperty("os.name");
        boolean windows = osname.indexOf("Windows") >= 0;
        Enumeration en = this.catalogEntries.elements();
        while (en.hasMoreElements()) {
            CatalogEntry e = (CatalogEntry)en.nextElement();
            if (e.getEntryType() != SYSTEM || !e.getEntryArg(0).equals(systemId) && (!windows || !e.getEntryArg(0).equalsIgnoreCase(systemId))) continue;
            return e.getEntryArg(1);
        }
        en = this.catalogEntries.elements();
        String startString = null;
        String prefix = null;
        while (en.hasMoreElements()) {
            String p;
            CatalogEntry e = (CatalogEntry)en.nextElement();
            if (e.getEntryType() != REWRITE_SYSTEM || (p = e.getEntryArg(0)).length() > systemId.length() || !p.equals(systemId.substring(0, p.length())) || startString != null && p.length() <= startString.length()) continue;
            startString = p;
            prefix = e.getEntryArg(1);
        }
        if (prefix != null) {
            return prefix + systemId.substring(startString.length());
        }
        en = this.catalogEntries.elements();
        String suffixString = null;
        String suffixURI = null;
        while (en.hasMoreElements()) {
            String p;
            CatalogEntry e = (CatalogEntry)en.nextElement();
            if (e.getEntryType() != SYSTEM_SUFFIX || (p = e.getEntryArg(0)).length() > systemId.length() || !systemId.endsWith(p) || suffixString != null && p.length() <= suffixString.length()) continue;
            suffixString = p;
            suffixURI = e.getEntryArg(1);
        }
        if (suffixURI != null) {
            return suffixURI;
        }
        en = this.catalogEntries.elements();
        Vector<String> delCats = new Vector<String>();
        while (en.hasMoreElements()) {
            String p;
            CatalogEntry e = (CatalogEntry)en.nextElement();
            if (e.getEntryType() != DELEGATE_SYSTEM || (p = e.getEntryArg(0)).length() > systemId.length() || !p.equals(systemId.substring(0, p.length()))) continue;
            delCats.addElement(e.getEntryArg(1));
        }
        if (delCats.size() > 0) {
            Enumeration enCats = delCats.elements();
            if (this.catalogManager.debug.getDebug() > 1) {
                this.catalogManager.debug.message(2, "Switching to delegated catalog(s):");
                while (enCats.hasMoreElements()) {
                    String delegatedCatalog = (String)enCats.nextElement();
                    this.catalogManager.debug.message(2, "\t" + delegatedCatalog);
                }
            }
            Catalog dcat = this.newCatalog();
            enCats = delCats.elements();
            while (enCats.hasMoreElements()) {
                String delegatedCatalog = (String)enCats.nextElement();
                dcat.parseCatalog(delegatedCatalog);
            }
            return dcat.resolveSystem(systemId);
        }
        return null;
    }
 -> java.lang.System.getProperty(java.lang.String): java.lang.String -> java.lang.String.indexOf(java.lang.String): int -> java.util.Vector.elements(): java.util.Enumeration -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object -> java.util.Vector.get(int): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object -> java.util.Vector.get(int): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object -> java.util.Vector.get(int): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object -> java.util.Vector.get(int): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object -> java.util.Vector.get(int): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Vector.get(int): java.lang.Object
 [CALL] -> java.lang.System.getProperty(java.lang.String): java.lang.String -> java.lang.String.indexOf(java.lang.String): int -> java.util.Vector.elements(): java.util.Enumeration -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] -> java.util.Vector.get(int): java.lang.Object [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] -> java.util.Vector.get(int): java.lang.Object [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] -> java.util.Vector.get(int): java.lang.Object [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] -> java.util.Vector.get(int): java.lang.Object [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] -> java.util.Vector.get(int): java.lang.Object [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] -> java.util.Vector.get(int): java.lang.Object [EXIT] [EXIT]