@Override
      public void run(@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);
        }
      }
@Override
      public void run(@NotNull ProgressIndicator indicator)