<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def insert_history_item(self, parent, history_item, description, dummy=False):
 """Enters a single history item into the tree store :param Gtk.TreeItem parent: Parent tree item :param HistoryItem history_item: History item to be inserted :param str description: A description to be added to the entry :param None dummy: Whether this is just a dummy entry (wrapper for concurrency items) :return: Inserted tree item :rtype: Gtk.TreeItem """

        if not history_item.state_reference:
            logger.error("This must never happen! Current history_item is {}".format(history_item))
            return None
        content = None

        if global_gui_config.get_config_value("SHOW_PATH_NAMES_IN_EXECUTION_HISTORY", False):
            content = (history_item.state_reference.name + " - " +
                           history_item.state_reference.get_path() + " - " +
                           description, None if dummy else history_item,
                           None if dummy else self.TOOL_TIP_TEXT)
        else:
            content = (history_item.state_reference.name + " - " +
                           description, None if dummy else history_item,
                           None if dummy else self.TOOL_TIP_TEXT)

        tree_item = self.history_tree_store.insert_before(
            parent, None, content)
        return tree_item