private static VersionRange parseVersionRange(Element restrictElement) { final String version = restrictElement.attributeValue("version"); if (version != null) { return VersionRange.parse(version); } else { final List<Element> versionElements = restrictElement.elements("version"); if (!versionElements.isEmpty()) { VersionRange range = VersionRange.empty(); for (Element versionElement : versionElements) { range = range.or(VersionRange.parse(versionElement.getText())); } return range; } else { return VersionRange.all(); } } }