@NotNull
  @Override
  public List<Pair<PsiElement, Unwrapper>> collectUnwrappers(@NotNull Project project, @NotNull Editor editor, @NotNull PsiFile file) {
    PsiElement e = findTargetElement(editor, file);

     List<Pair<PsiElement, Unwrapper>> result = new ArrayList<>();
     Set<PsiElement> ignored = new HashSet<>();
     while (e != null) {
       for (Unwrapper u : getUnwrappers()) {
         if (u.isApplicableTo(e) && !ignored.contains(e)) {
           result.add(Pair.create(e, u));
           u.collectElementsToIgnore(e, ignored);
         }
       }
       e = e.getParent();
     }

     return result;
  }
@NotNull
  @Override
  public List<Pair<PsiElement, Unwrapper>> collectUnwrappers(@NotNull Project project, @NotNull Editor editor, @NotNull PsiFile file)