boolean (PsiElement child, boolean deepFlag, boolean wideFlag, boolean processIncludes) { if (deepFlag) { if (!processXmlElements(child, true, wideFlag, processIncludes)) { return false; } } else { if (child instanceof XmlEntityRef) { if (!processXmlElements(child, false, wideFlag, processIncludes)) return false; } else if (child instanceof XmlConditionalSection) { if (!processXmlElements(child, false, wideFlag, processIncludes)) return false; } else if (processIncludes && XmlIncludeHandler.isXInclude(child)) { if (!processXmlElements(child, false, wideFlag, true)) return false; } else if (!processor.execute(child)) return false; } if (targetFile != null && child instanceof XmlEntityDecl xmlEntityDecl) { XmlEntityCache.cacheParticularEntity(targetFile, xmlEntityDecl); } return true; }