boolean () { final String text = getCoordinateText(); if (myProgressIcon.isRunning() || StringUtil.isEmptyOrSpaces(text) || myCoordinates.containsKey(text)) { return false; } myProgressIcon.resume(); JarRepositoryManager.searchArtifacts(myProject, text, (pairs) -> { try { if (myProgressIcon.isDisposed()) { return; } myProgressIcon.suspend(); // finished final int prevSize = myCoordinates.size(); for (Pair<RepositoryArtifactDescription, RemoteRepositoryDescription> pair : pairs) { final RepositoryArtifactDescription artifact = pair.first; myCoordinates.put(artifact.getGroupId() + ":" + artifact.getArtifactId() + ":" + artifact.getVersion(), artifact); } updateComboboxSelection(prevSize != myCoordinates.size()); } finally { setOKActionEnabled(true); } }); return true; }