JpsMavenRepositoryLibraryDescriptor (@Nullable Element elem) { if (elem == null) return new JpsMavenRepositoryLibraryDescriptor(null); String mavenId = elem.getAttributeValue(MAVEN_ID_ATTRIBUTE, (String)null); boolean includeTransitiveDependencies = Boolean.parseBoolean(elem.getAttributeValue(INCLUDE_TRANSITIVE_DEPS_ATTRIBUTE, "true")); String jarRepositoryId = elem.getAttributeValue(JAR_REPOSITORY_ID_ATTRIBUTE); Element excludeTag = elem.getChild(EXCLUDE_TAG); List<Element> dependencyTags = excludeTag != null ? excludeTag.getChildren(DEPENDENCY_TAG) : Collections.emptyList(); List<String> excludedDependencies = ContainerUtil.map(dependencyTags, it -> it.getAttributeValue(MAVEN_ID_ATTRIBUTE)); var verificationProperties = loadArtifactsVerificationProperties(mavenId, elem.getChild(VERIFICATION_TAG)); return new JpsMavenRepositoryLibraryDescriptor(mavenId, includeTransitiveDependencies, excludedDependencies, verificationProperties, jarRepositoryId); }