<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _apply_workspaces(self, combination, mode):
 """ Allows user to force move a comma separated list of workspaces to the given output when it's activated. Example: - DP1_workspaces = "1,2,3" """

        if len(combination) > 1 and mode == "extend":
            sleep(3)
            for output in combination:
                workspaces = getattr(self, "{}_workspaces".format(output), "").split(
                    ","
                )
                for workspace in workspaces:
                    if not workspace:
                        continue
                    # switch to workspace
                    cmd = '{} workspace "{}"'.format(self.py3.get_wm_msg(), workspace)
                    self.py3.command_run(cmd)
                    # move it to output
                    cmd = '{} move workspace to output "{}"'.format(
                        self.py3.get_wm_msg(), output
                    )
                    self.py3.command_run(cmd)
                    # log this
                    self.py3.log(
                        "moved workspace {} to output {}".format(workspace, output)
                    )