List<Element> (@NotNull Stack<URL> bases, @NotNull URL remote, @Nullable Element fallbackElement) { try { bases.push(remote); Element root = JDOMUtil.loadResource(remote); return resolve(root, bases); } catch (JDOMException e) { throw new XIncludeException(e); } catch (IOException e) { if (fallbackElement != null) { // TODO[yole] return contents of fallback element (we don't have fallback elements with content ATM) return Collections.emptyList(); } if (myIgnoreMissing) { LOG.info(remote.toExternalForm() + " include ignored: " + e.getMessage()); return Collections.emptyList(); } throw new XIncludeException(e); } finally { bases.pop(); } }