def METHOD_NAME(self):
    BaseQueueEntry.METHOD_NAME(self)
    workflow_hwobj = HWR.beamline.workflow
    # Start execution of a new workflow
    if str(workflow_hwobj.state.value) != "ON":
        # We are trying to start a new workflow and the Tango server is not idle,
        # therefore first abort any running workflow:
        workflow_hwobj.abort()
        if workflow_hwobj.command_failure():
            msg = (
                "Workflow abort command failed! Please check workflow Tango server."
            )
            logging.getLogger("user_level_log").error(msg)
        else:
            # Then sleep three seconds for allowing the server to abort a running
            # workflow:
            time.sleep(3)
            # If the Tango server has been restarted the state.value is None.
            # If not wait till the state.value is "ON":
            if workflow_hwobj.state.value is not None:
                while str(workflow_hwobj.state.value) != "ON":
                    time.sleep(0.5)
    msg = "Starting workflow (%s), please wait." % (self.get_data_model()._type)
    logging.getLogger("user_level_log").info(msg)
    workflow_params = self.get_data_model().params_list
    # Add the current node id to workflow parameters
    # group_node_id = self._parent_container._data_model._node_id
    # workflow_params.append("group_node_id")
    # workflow_params.append("%d" % group_node_id)
    workflow_hwobj.start(workflow_params)
    if workflow_hwobj.command_failure():
        msg = "Workflow start command failed! Please check workflow Tango server."
        logging.getLogger("user_level_log").error(msg)
        self.workflow_running = False
    else:
        self.workflow_running = True
        while self.workflow_running:
            time.sleep(1)