void (@NotNull ProgressIndicator indicator) { try { String html = HttpRequests.request(CLASS_ROOT_URL + fqn.replace('.', '/') + CLASS_PAGE_EXT).readString(indicator); indicator.checkCanceled(); Matcher matcher = URLUtil.HREF_PATTERN.matcher(html); if (!matcher.find()) { return; } do { indicator.checkCanceled(); String pathToJar = matcher.group(1); if (pathToJar != null && (pathToJar.startsWith("/jar/") || pathToJar.startsWith("/class/../"))) { libs.put(matcher.group(2), SERVICE_URL + pathToJar); } } while (matcher.find()); } catch (IOException e) { LOG.warn(e); } }