@Override
  public String execTableCommand(String command, TableCommandType commandType, TableCommandParameters tableCommandParameters) throws PyDebuggerException {
    if (!isCommunicationClosed()) {
      return executeBackgroundTask(
        () -> {
          String startIndex = "";
          String endIndex = "";
          try {
            if (tableCommandParameters instanceof PyDevCommandParameters) {
              startIndex = String.valueOf(((PyDevCommandParameters)tableCommandParameters).getStart());
              endIndex = String.valueOf(((PyDevCommandParameters)tableCommandParameters).getEnd());
            }
            return getPythonConsoleBackendClient().execTableCommand(command, commandType.name(), startIndex, endIndex);
          }
          catch (PythonTableException e) {
            throw new PyDebuggerException(e.message);
          }
        },
        true,
        createRuntimeMessage(PyBundle.message("console.getting.table.data")),
        PyBundle.message("console.table.failed.to.load")
      );
    }
    else {
      return null;
    }
  }
@Override
  public String execTableCommand(String command, TableCommandType commandType, TableCommandParameters tableCommandParameters)