@Override
  public DataViewerCommandResult executeDataViewerCommand(DataViewerCommandBuilder builder) throws PyDebuggerException {
    if (!isCommunicationClosed()) {
      return executeBackgroundTask(
        () -> {
          try {
            getPythonConsoleBackendClient().execDataViewerAction(
              builder.getVar().getName(),
              builder.getAction().name(),
              builder.getArgs() == null ? "" : String.join("\t", builder.getArgs())
            );

            return DataViewerCommandResult.makeSuccessResult("Export successful");
          }
          catch (PythonUnhandledException e) {
            return DataViewerCommandResult.errorFromExportTraceback(e.getTraceback());
          }
        },
        true,
        PyBundle.message("console.executing.dataviewer.command"),
        "Error in DataViewer command:"
      );
    }
    return DataViewerCommandResult.makeErrorResult(UNHANDLED_ERROR, "Console communication is closed");
  }
@Override
  public DataViewerCommandResult executeDataViewerCommand(DataViewerCommandBuilder builder)