code: def update(self, statement):
          
          Statement = self.get_model('statement')
          Tag = self.get_model('tag')
  
          if hasattr(statement, 'id'):
              statement.save()
          else:
              statement = Statement.objects.create(
                  text=statement.text,
                  search_text=self.tagger.get_bigram_pair_string(statement.text),
                  conversation=statement.conversation,
                  in_response_to=statement.in_response_to,
                  search_in_response_to=self.tagger.get_bigram_pair_string(statement.in_response_to),
                  created_at=statement.created_at
              )
  
          for _tag in statement.tags.all():
              tag, _ = Tag.objects.get_or_create(name=_tag)
  
              statement.tags.add(tag)
  
          return statement
docs: Update the provided statement.