code: def create_many(self, statements):
          
          Statement = self.get_model('statement')
          Tag = self.get_model('tag')
  
          session = self.Session()
  
          create_statements = []
          create_tags = {}
  
          for statement in statements:
  
              statement_data = statement.serialize()
              tag_data = statement_data.pop('tags', [])
  
              statement_model_object = Statement(**statement_data)
  
              if not statement.search_text:
                  statement_model_object.search_text = self.tagger.get_bigram_pair_string(statement.text)
  
              if not statement.search_in_response_to and statement.in_response_to:
                  statement_model_object.search_in_response_to = self.tagger.get_bigram_pair_string(statement.in_response_to)
  
              new_tags = set(tag_data) - set(create_tags.keys())
  
              if new_tags:
                  existing_tags = session.query(Tag).filter(
                      Tag.name.in_(new_tags)
                  )
  
                  for existing_tag in existing_tags:
                      create_tags[existing_tag.name] = existing_tag
  
              for tag_name in tag_data:
                  if tag_name in create_tags:
                      tag = create_tags[tag_name]
                  else:
                      # Create the tag if it does not exist
                      tag = Tag(name=tag_name)
  
                      create_tags[tag_name] = tag
  
                  statement_model_object.tags.append(tag)
              create_statements.append(statement_model_object)
  
          session.add_all(create_statements)
          session.commit()
docs: Creates multiple statement entries.