docs: @SuppressWarnings("UnstableApiUsage")
      private void computeProjectDependencies(IdeaModule module) {
          ARTIFACT_DEPS_OF_PRJ.computeIfAbsent(module.getName(), moduleName -> {
              Map<String, Set<ArtifactSpec>> dependencies = new HashMap<>();
              module.getDependencies().forEach(dep -> {
                  if (dep instanceof IdeaModuleDependency) {
                      // Add the dependency to the list.
                      String name = ((IdeaModuleDependency) dep).getTargetModuleName();
                      PRJ_DEPS_OF_PRJ.computeIfAbsent(moduleName, key -> new HashSet<>()).add(name);
                  } else if (dep instanceof ExternalDependency) {
                      ExternalDependency extDep = (ExternalDependency) dep;
                      GradleModuleVersion gav = extDep.getGradleModuleVersion();
                      ArtifactSpec spec = new ArtifactSpec("compile", gav.getGroup(), gav.getName(), gav.getVersion(),
                                                           "jar", null, extDep.getFile());
                      String depScope = dep.getScope().getScope();
                      dependencies.computeIfAbsent(depScope, s -> new HashSet<>()).add(spec);
                  }
              });
              return dependencies;
          });
      }