private static <K, V> void doAnnotate(@NotNull MyData<K, V> data) {
    try {
      AnnotationSessionImpl.computeWithSession(data.psiRoot, false, data.annotator, annotationHolder -> {
        data.annotationHolder = (AnnotationHolderImpl)annotationHolder;
        data.annotationResult = data.annotator.doAnnotate(data.collectedInfo);
        return null;
      });
    }
    catch (Throwable t) {
      processError(t, data.annotator, data.psiRoot);
    }
  }
private static <K, V> void doAnnotate(@NotNull MyData<K, V> data)