<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create_dataset(self, dataset_id, friendly_name=None, description=None, access=None, location=None, project_id=None):
 """Create a new BigQuery dataset. Parameters dataset_id : str Unique ``str`` identifying the dataset with the project (the referenceID of the dataset, not the integer id of the dataset) friendly_name: str, optional A human readable name description: str, optional Longer string providing a description access : list, optional Indicating access permissions (see https://developers.google.com/bigquery/docs/reference/v2/datasets#resource) location : str, optional Indicating where dataset should be stored: EU or US (see https://developers.google.com/bigquery/docs/reference/v2/datasets#resource) project_id: str Unique ``str`` identifying the BigQuery project contains the dataset Returns ------- Union[bool, dict] ``bool`` indicating if dataset was created 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()
            dataset_data = self.dataset_resource(dataset_id,                                                 
                                                 project_id=project_id,
                                                 friendly_name=friendly_name,
                                                 description=description,
                                                 access=access,
                                                 location=location
                                                 )

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