<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def resubmit_workflow(self, stage_name=None, description=None):
        '''Resubmits the workflow.

        Parameters
        ----------
        stage_name: str, optional
            name of the stage at which workflow should be resubmitted
            (when omitted workflow will be restarted from the beginning)
        description: dict, optional
            workflow description

        See also
        --------
        :func:`tmserver.api.workflow.resubmit_workflow`
        :class:`tmlib.workflow.workflow.Workflow`
        '''
        logger.info(
            'resubmit workflow of experiment "%s"', self.experiment_name
        )
        content = dict()
        if description is not None:
            content['description'] = description
        if stage_name is not None:
            content['stage_name'] = stage_name
        url = self._build_api_url(
            '/experiments/{experiment_id}/workflow/resubmit'.format(
                experiment_id=self._experiment_id
            )
        )
        res = self._session.post(url, json=content)
        res.raise_for_status()