org_eclipse_lemminx_extensions_contentmodel_DTDCompletionWithCacheExtensionsTest_java
org.apache.xerces.impl.XMLDTDScannerImpl
@Override
    public void endEntity(String string, Augmentations augmentations) throws XNIException {
        super.endEntity(string, augmentations);
        if (this.fScannerState == 0) {
            return;
        }
        boolean bl = this.fReportEntity;
        if (string.startsWith("%")) {
            bl = this.peekReportEntity();
            int n = this.popPEStack();
            if (n == 0 && n < this.fMarkUpDepth) {
                this.fErrorReporter.reportError("http://www.w3.org/TR/1998/REC-xml-19980210", "ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL", new Object[]{this.fEntityManager.fCurrentEntity.name}, (short)2);
            }
            if (n != this.fMarkUpDepth) {
                bl = false;
                if (this.fValidation) {
                    this.fErrorReporter.reportError("http://www.w3.org/TR/1998/REC-xml-19980210", "ImproperDeclarationNesting", new Object[]{string}, (short)1);
                }
            }
            if (this.fEntityScanner.isExternal()) {
                --this.fExtEntityDepth;
            }
            if (this.fDTDHandler != null && bl) {
                this.fDTDHandler.endParameterEntity(string, augmentations);
            }
        } else if (string.equals("[dtd]")) {
            if (this.fIncludeSectDepth != 0) {
                this.reportFatalError("IncludeSectUnterminated", null);
            }
            this.fScannerState = 0;
            this.fEntityManager.endExternalSubset();
            if (this.fDTDHandler != null) {
                this.fDTDHandler.endExternalSubset(null);
                this.fDTDHandler.endDTD(null);
            }
            --this.fExtEntityDepth;
        }
    }
 -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean
 [CALL] [CALL] [EXIT] -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean -> java.util.ArrayList.add(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [EXIT] [EXIT]