@Override
  public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
    int offset = -1;
    if (editor.getVirtualFile().equals(myFile)) {
      offset = editor.getCaretModel().getOffset();
    }
    if (myFile.isValid() && myTarget.isValid()) {
      try {
        myFile.move(this, myTarget);
      }
      catch (IOException e) {
        new Notification("FileSystemIssue", 
                         JavaAnalysisBundle.message("notification.content.cannot.move.file", myFile.getPath(), myTarget.getPath(), e.getMessage()),
                         NotificationType.ERROR)
          .notify(project);
      }
    }
    FileEditorManager manager = FileEditorManager.getInstance(project);
    manager.closeFile(myFile);
    if (offset >= 0) {
      manager.openTextEditor(new OpenFileDescriptor(project, myFile, offset), true);
    }
  }
@Override
  public void invoke(@NotNull Project project, Editor editor, PsiFile file)