<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update_dataset(self, dataset_id, friendly_name=None, description=None, access=None, project_id=None):
 """Updates information in an existing dataset. The update method replaces the entire dataset resource, whereas the patch method only replaces fields that are provided in the submitted dataset resource. Parameters dataset_id : str Unique ``str`` identifying the dataset with the project (the referencedId of the dataset) friendly_name : str, optional An optional descriptive name for the dataset. description : str, optional An optional description of the dataset. access : list, optional Indicating access permissions project_id: str, optional Unique ``str`` identifying the BigQuery project contains the dataset Returns ------- Union[bool, dict] ``bool`` indicating if the update was successful or not, or response from BigQuery if swallow_results is set for False. """

        project_id = self._get_project_id(project_id)

        try:            
            datasets = self.bigquery.datasets()
            body = self.dataset_resource(dataset_id, 
                                         friendly_name=friendly_name,
                                         description=description, 
                                         access=access,
                                         project_id=project_id)

            request = datasets.update(projectId=project_id,
                                      datasetId=dataset_id,
                                      body=body)
            response = request.execute(num_retries=self.num_retries)
            if self.swallow_results:
                return True
            else:
                return response
        except HttpError as e:
            logger.error(
                'Cannot update dataset {0}: {1}'.format(dataset_id, e))
            if self.swallow_results:
                return False
            else:
                return {}