@Override
  public void collectActions(@NotNull Editor hostEditor,
                             @NotNull PsiFile hostFile,
                             @NotNull ShowIntentionsPass.IntentionsInfo intentions,
                             int passIdToShowIntentionsFor,
                             int offset) {
    Project project = hostFile.getProject();
    Document hostDocument = hostEditor.getDocument();
    int line = hostDocument.getLineNumber(offset);
    MarkupModelEx model = (MarkupModelEx)DocumentMarkupModel.forDocument(hostDocument, project, true);
    List<RangeHighlighterEx> result = new ArrayList<>();
    model.processRangeHighlightersOverlappingWith(hostDocument.getLineStartOffset(line),
                                                  hostDocument.getLineEndOffset(line),
                                                  Processors.cancelableCollectProcessor(result));
    Collection<AnAction> actions = result.stream()
      .map(RangeHighlighter::getGutterIconRenderer)
      .filter(Objects::nonNull)
      .filter(r -> DumbService.getInstance(project).isUsableInCurrentContext(r))
      .flatMap(r -> {
        ActionGroup group = r.getPopupMenuActions();
        List<AnAction> clickActions = Arrays.asList(r.getClickAction(), r.getMiddleButtonClickAction(), r.getRightButtonClickAction());
        return (group == null ? clickActions : ContainerUtil.append(clickActions, group.getChildren(null))).stream();
      })
      .filter(Objects::nonNull)
      .collect(Collectors.toCollection(LinkedHashSet::new));
    intentions.guttersToShow.addAll(actions);
  }
@Override
  public void collectActions(@NotNull Editor hostEditor,
                             @NotNull PsiFile hostFile,
                             @NotNull ShowIntentionsPass.IntentionsInfo intentions,
                             int passIdToShowIntentionsFor,
                             int offset)