private static DataNode<? extends ExternalEntityData> createDependencyDataNode(ExternalMultiLibraryDependency multiDep,
                                                                                 @NotNull DataNode<? extends ExternalEntityData> ownerDataNode,
                                                                                 AtomicInteger classpathOrderShift) {
    final ModuleData ownerModule = getOwnerModule(ownerDataNode);
    DependencyScope dependencyScope = getDependencyScope(multiDep.getScope());

    final LibraryLevel level = LibraryLevel.MODULE;
    String libraryName = multiDep.getId().getPresentableName();
    final LibraryData library = new LibraryData(GradleConstants.SYSTEM_ID, libraryName);
    library.setArtifactId(multiDep.getId().getName());
    library.setGroup(multiDep.getId().getGroup());
    library.setVersion(multiDep.getId().getVersion());
    LibraryDependencyData libraryDependencyData = new LibraryDependencyData(ownerModule, library, level);
    libraryDependencyData.setScope(dependencyScope);
    libraryDependencyData.setOrder(multiDep.getClasspathOrder() + classpathOrderShift.get());
    libraryDependencyData.setExported(multiDep.getExported());

    for (File file : multiDep.getFiles()) {
      library.addPath(LibraryPathType.BINARY, file.getPath());
    }
    for (File file : multiDep.getSources()) {
      library.addPath(LibraryPathType.SOURCE, file.getPath());
    }
    for (File file : multiDep.getJavadoc()) {
      library.addPath(LibraryPathType.DOC, file.getPath());
    }

    return ownerDataNode.createChild(ProjectKeys.LIBRARY_DEPENDENCY, libraryDependencyData);
  }
private static DataNode<? extends ExternalEntityData> createDependencyDataNode(ExternalMultiLibraryDependency multiDep,
                                                                                 @NotNull DataNode<? extends ExternalEntityData> ownerDataNode,
                                                                                 AtomicInteger classpathOrderShift)