@Override
  public void run(ITextSelection selection) {
    if (node != null && (node instanceof GroupingDefinition || node instanceof UsesNode)) {
      IFile file = ((IFileEditorInput) editor.getEditorInput()).getFile();
      InlineGroupingRefactoring refactoring =
          new InlineGroupingRefactoring(file, (ASTNamedNode) node);
      InlineGroupingRefactoringWizard wizard = new InlineGroupingRefactoringWizard(refactoring);

      RefactoringWizardOpenOperation op = new RefactoringWizardOpenOperation(wizard);
      try {
        op.run(getShell(), "Inline Grouping");
      } catch (InterruptedException e) {
        // do nothing
      }
    } else {
      MessageDialog.openInformation(
          getShell(),
          "Inline",
          "Operation unavailable on the current selection.\nSelect a grouping or uses element.");
    }
  }