@Override
    protected @Nullable Presentation getPresentation(@NotNull ActionContext context, @NotNull PsiVariable variable) {
      Presentation presentation = Presentation.of(getFamilyName());
      if (myKeepSideEffects) {
        final List<PsiReferenceExpression> references = collectReferences(variable);
        Map<PsiExpression, List<PsiExpression>> effects = collectSideEffects(variable, references);
        return presentation.withHighlighting(StreamEx.ofValues(effects).flatCollection(Function.identity())
                                               .map(PsiExpression::getTextRange).toArray(TextRange.EMPTY_ARRAY));
      }
      return presentation;
    }
@Override
    protected @Nullable Presentation getPresentation(@NotNull ActionContext context, @NotNull PsiVariable variable)