@Nullable
  public String getExternalDocInfo(String url) throws Exception {
    Application app = ApplicationManager.getApplication();
    // May block indefinitely: shouldn't be called from EDT or under write lock
    app.assertIsNonDispatchThread();

    if (url == null || !MyJavadocFetcher.ourFree) {
      return null;
    }

    MyJavadocFetcher fetcher = new MyJavadocFetcher(url, (_url, input, result) -> doBuildFromStream(_url, input, result));
    try {
      app.executeOnPooledThread(fetcher).get();
    }
    catch (Exception e) {
      return null;
    }

    Exception exception = fetcher.myException;
    if (exception != null) {
      fetcher.myException = null;
      throw exception;
    }

    return correctDocText(url, fetcher.data);
  }
@Nullable
  public String getExternalDocInfo(String url)