def METHOD_NAME(self, conf: ConfigTree) -> None:
    # should use key_path, or cred_key if the former doesn't exist
    self.key_path = conf.get_string(BaseBigQueryExtractor.KEY_PATH_KEY, None)
    self.cred_key = conf.get_string(BaseBigQueryExtractor.CRED_KEY, None)
    self.project_id = conf.get_string(BaseBigQueryExtractor.PROJECT_ID_KEY)
    self.pagesize = conf.get_int(
        BaseBigQueryExtractor.PAGE_SIZE_KEY,
        BaseBigQueryExtractor.DEFAULT_PAGE_SIZE)
    self.filter = conf.get_string(BaseBigQueryExtractor.FILTER_KEY, '')
    self.cutoff_time = conf.get_string(BaseBigQueryExtractor.CUTOFF_TIME_KEY,
                                       datetime.now(timezone.utc).strftime(BaseBigQueryExtractor.DATE_TIME_FORMAT))
    if self.key_path:
        credentials = (
            google.oauth2.service_account.Credentials.from_service_account_file(
                self.key_path, scopes=self._DEFAULT_SCOPES))
    else:
        if self.cred_key:
            service_account_info = json.loads(self.cred_key)
            credentials = (
                google.oauth2.service_account.Credentials.from_service_account_info(
                    service_account_info, scopes=self._DEFAULT_SCOPES))
        else:
            # FIXME: mypy can't find this attribute
            google_auth: Any = getattr(google, 'auth')
            credentials, _ = google_auth.default(scopes=self._DEFAULT_SCOPES)
    http = httplib2.Http()
    authed_http = google_auth_httplib2.AuthorizedHttp(credentials, http=http)
    self.bigquery_service = build('bigquery', 'v2', http=authed_http, cache_discovery=False)
    self.logging_service = build('logging', 'v2', http=authed_http, cache_discovery=False)
    self.iter: Iterator[Any] = iter([])