org_eclipse_lemminx_extensions_contentmodel_XMLModelCompletionExtensionsTest_java
org.apache.xml.resolver.Catalog
protected synchronized String resolveLocalPublic(int entityType, String entityName, String publicId, String systemId) throws MalformedURLException, IOException {
        String resolved;
        publicId = PublicId.normalize(publicId);
        if (systemId != null && (resolved = this.resolveLocalSystem(systemId)) != null) {
            return resolved;
        }
        boolean over = this.default_override;
        Enumeration en = this.catalogEntries.elements();
        while (en.hasMoreElements()) {
            CatalogEntry e = (CatalogEntry)en.nextElement();
            if (e.getEntryType() == OVERRIDE) {
                over = e.getEntryArg(0).equalsIgnoreCase("YES");
                continue;
            }
            if (e.getEntryType() != PUBLIC || !e.getEntryArg(0).equals(publicId) || !over && systemId != null) continue;
            return e.getEntryArg(1);
        }
        over = this.default_override;
        en = this.catalogEntries.elements();
        Vector<String> delCats = new Vector<String>();
        while (en.hasMoreElements()) {
            String p;
            CatalogEntry e = (CatalogEntry)en.nextElement();
            if (e.getEntryType() == OVERRIDE) {
                over = e.getEntryArg(0).equalsIgnoreCase("YES");
                continue;
            }
            if (e.getEntryType() != DELEGATE_PUBLIC || !over && systemId != null || (p = e.getEntryArg(0)).length() > publicId.length() || !p.equals(publicId.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.resolvePublic(publicId, null);
        }
        return null;
    }
 -> java.lang.String.replace(char,char): java.lang.String -> java.lang.String.replace(char,char): java.lang.String -> java.lang.String.replace(char,char): java.lang.String -> java.lang.String.trim(): 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.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object -> 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.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.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object -> 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.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object -> 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.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Vector.elements(): java.util.Enumeration -> 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.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object -> 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.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object -> 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.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object -> 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.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object -> 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.Enumeration.hasMoreElements(): boolean -> java.util.Vector.size(): int
 [CALL] [CALL] -> java.lang.String.replace(char,char): java.lang.String -> java.lang.String.replace(char,char): java.lang.String -> java.lang.String.replace(char,char): java.lang.String -> java.lang.String.trim(): java.lang.String -> java.lang.String.indexOf(java.lang.String): int [EXIT] -> java.util.Vector.elements(): java.util.Enumeration -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [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] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Vector.elements(): java.util.Enumeration -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Enumeration.nextElement(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Enumeration.hasMoreElements(): boolean -> java.util.Vector.size(): int [EXIT]