@Override
  public void doInvoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
    final PsiElement element = PyUtil.findNonWhitespaceAtOffset(file, editor.getCaretModel().getOffset());
    PyFunction problemFunction = PsiTreeUtil.getParentOfType(element, PyFunction.class);
    if (problemFunction == null) return;
    final PyClass containingClass = problemFunction.getContainingClass();
    if (containingClass == null) return;
    final List<UsageInfo> usages = PyPsiIndexUtil.findUsages(problemFunction, false);

    if (!prepareForWrite(file, usages)) return;

    WriteAction.run(() -> {
      PyUtil.addDecorator(problemFunction, "@" + PyNames.PROPERTY);
      deleteUsages(usages);
    });
  }
@Override
  public void doInvoke(@NotNull Project project, Editor editor, PsiFile file)