private static <X, Y> void processAnnotator(@NotNull XmlFile xmlFile, AnnotationHolderImpl holder, ExternalAnnotator<X, Y> annotator) {
    X initial = annotator.collectInformation(xmlFile);
    if (initial != null) {
      Y result = annotator.doAnnotate(initial);
      if (result != null) {
        holder.applyExternalAnnotatorWithContext(xmlFile, result);
      }
    }
  }
private static <X, Y> void processAnnotator(@NotNull XmlFile xmlFile, AnnotationHolderImpl holder, ExternalAnnotator<X, Y> annotator)