@NotNull
  @Override
  public Map<LibraryOrderEntry, LibraryDependencyData> findIdeModuleLibraryOrderEntries(@NotNull ModuleData moduleData,
                                                                                        @NotNull List<LibraryDependencyData> libraryDependencyDataList) {
    if (libraryDependencyDataList.isEmpty()) return Collections.emptyMap();
    Module ownerIdeModule = findIdeModule(moduleData);
    if (ownerIdeModule == null) return Collections.emptyMap();
    Map<Set<String>, LibraryDependencyData> libraryDependencyDataMap = new HashMap<>();
    for (LibraryDependencyData libraryDependencyData : libraryDependencyDataList) {
      if (libraryDependencyData.getLevel() == LibraryLevel.PROJECT) {
        LOG.warn("Library data \"" + libraryDependencyData.getInternalName() + "\" not a module level dependency");
        continue;
      }
      if (libraryDependencyData.getOwnerModule() != moduleData) {
        LOG.warn("Library data \"" + libraryDependencyData.getInternalName() + "\" not belong to the module: " + ownerIdeModule.getName());
        continue;
      }
      libraryDependencyDataMap.put(ContainerUtil.map2Set(libraryDependencyData.getTarget().getPaths(LibraryPathType.BINARY),
                                                         PathUtil::getLocalPath), libraryDependencyData);
    }

    Map<LibraryOrderEntry, LibraryDependencyData> result = new HashMap<>();
    for (OrderEntry entry : getOrderEntries(ownerIdeModule)) {
      if (entry instanceof LibraryOrderEntry libraryOrderEntry) {
        if (!libraryOrderEntry.isModuleLevel()) continue;
        final Set<String> entryPaths = ContainerUtil.map2Set(libraryOrderEntry.getRootUrls(OrderRootType.CLASSES),
                                                             s -> PathUtil.getLocalPath(VfsUtilCore.urlToPath(s)));
        LibraryDependencyData libraryDependencyData = libraryDependencyDataMap.get(entryPaths);
        if (libraryDependencyData != null && libraryOrderEntry.getScope() == libraryDependencyData.getScope()) {
          result.put(libraryOrderEntry, libraryDependencyData);
        }
      }
    }
    return result;
  }
@NotNull
  @Override
  public Map<LibraryOrderEntry, LibraryDependencyData> findIdeModuleLibraryOrderEntries(@NotNull ModuleData moduleData,
                                                                                        @NotNull List<LibraryDependencyData> libraryDependencyDataList)