<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(self, schema, overwrite=False):
 """ Create the table with the specified schema. Args: schema: the schema to use to create the table. Should be a list of dictionaries, each containing at least a pair of entries, 'name' and 'type'. See https://cloud.google.com/bigquery/docs/reference/v2/tables#resource overwrite: if True, delete the table first if it exists. If False and the table exists, creation will fail and raise an Exception. Returns: The Table instance. Raises: Exception if the table couldn't be created or already exists and truncate was False. """

    if overwrite and self.exists():
      self.delete()
    if not isinstance(schema, _schema.Schema):
      # Convert to a Schema object
      schema = _schema.Schema(schema)
    try:
      response = self._api.tables_insert(self._name_parts, schema=schema._bq_schema)
    except Exception as e:
      raise e
    if 'selfLink' in response:
      self._schema = schema
      return self
    raise Exception("Table %s could not be created as it already exists" % self._full_name)