in packaging/src/main/scala/org/jetbrains/sbtidea/packaging/artifact/IdeaArtifactXmlBuilder.scala [56:72]
private def findOrCreateDirNode(path: String): Dir = {
val elems = path.split("[/\\\\]")
val result = elems.foldLeft(rootNode) {
case (node , dirName) =>
val child = node.children.collectFirst {
case d@Dir(_, name) if name == dirName => d
}
child match {
case Some(value) => value
case None =>
val newChild = Dir(mutable.ArrayBuffer.empty, dirName)
node.children += newChild
newChild
}
}
result
}