def update_goal(self, goal):
        """
        Update this agent's goal. This is mainly used to propagate the update
        down to the dialogue State Tracker.

        :param goal: a Goal
        :return: nothing
        """

        if self.DSTracker:
            self.DSTracker.update_goal(goal)
        else:
            print('WARNING: dialogue Manager goal update failed: No dialogue '
                  'State Tracker!')

        Update this agent's goal. This is mainly used to propagate the update
        down to the dialogue State Tracker.

        :param goal: a Goal
        :return: nothing
        
plato/agent/component/dialogue_manager/dialogue_manager.py