def METHOD_NAME(self, dataset_name:str, table_name:str, rows_to_insert:List[Tuple], max_tries=15, pause=3):    
    if not isinstance(dataset_name, str):
        raise TypeError("dataset_name must be str")
    if not isinstance(table_name, str):
        raise TypeError("table_name must be str")
    if not all(isinstance(elem,Tuple) for elem in rows_to_insert):
        raise TypeError("rows_to_insert must be [Tuple]")
    dataset_ref = self.get_datasetref(dataset_name)
    table_ref = self.get_tableref(dataset_ref, table_name)
    exists, table = self.table_exist(table_ref)
    if exists:
        try:
            dataset_ref = self.client.dataset(dataset_name)                                                                                                                            
            table_ref = dataset_ref.table(table_name)   
            table = self.client.get_table(table_ref)
            tries = 0
            while True: #Prevents insert_rows from failing when table was recently created
                try:
                    errors = self.client.insert_rows(table, rows_to_insert)
                except NotFound as e:
                    errors = e
                    if tries < max_tries:
                        tries += 1
                        print("Insert rows attempt #{}".format(tries))
                        sleep(pause)
                        continue
                break
            if errors == []:
                print("Rows inserted correctly to table {}.".format(table_ref.table_id))
            else:
                print(errors)
        except ValueError as e:
            print(e)
    else:
        print('Table {} reference not found.'.format(table_ref.table_id))