ArtifactDependencyNode (@NotNull RepositoryLibraryDescription description, @NotNull String version, Project project) { List<RemoteRepositoryDescription> repositories = RemoteRepositoriesConfiguration.getInstance(project).getRepositories(); return submitModalJob(project, JavaUiBundle.message("jar.repository.manager.dialog.resolving.dependencies.title", 0), new AetherJob<>(repositories) { @Override protected String getProgressText() { return JavaUiBundle.message("jar.repository.manager.progress.text.loading.dependencies", description.getMavenCoordinates(version)); } @Override protected ArtifactDependencyNode perform(ProgressIndicator progress, @NotNull ArtifactRepositoryManager manager) throws Exception { return manager.collectDependencies(description.getGroupId(), description.getArtifactId(), version); } @Override protected ArtifactDependencyNode getDefaultResult() { return null; } }); }