@ApiStatus.Experimental
  public static @NotNull List<? extends MarkupModel> getExistingMarkupModels(@NotNull Document document) {
    if (document instanceof DocumentWindow documentWindow) {
      Document delegate = documentWindow.getDelegate();
      List<? extends MarkupModel> baseMarkupModels = getExistingMarkupModels(delegate);
      return ContainerUtil.map(baseMarkupModels, model -> new MarkupModelWindow((MarkupModelEx)model, documentWindow));
    }
    ConcurrentMap<Project, MarkupModelImpl> markupModelMap = document.getUserData(MARKUP_MODEL_MAP_KEY);
    return markupModelMap != null ? List.copyOf(markupModelMap.values()) : Collections.emptyList();
  }
@ApiStatus.Experimental
  public static @NotNull List<? extends MarkupModel> getExistingMarkupModels(@NotNull Document document)