code: def create(self, **kwargs):
          
          Statement = self.get_model('statement')
          Tag = self.get_model('tag')
  
          session = self.Session()
  
          tags = set(kwargs.pop('tags', []))
  
          if 'search_text' not in kwargs:
              kwargs['search_text'] = self.tagger.get_bigram_pair_string(kwargs['text'])
  
          if 'search_in_response_to' not in kwargs:
              in_response_to = kwargs.get('in_response_to')
              if in_response_to:
                  kwargs['search_in_response_to'] = self.tagger.get_bigram_pair_string(in_response_to)
  
          statement = Statement(**kwargs)
  
          for tag_name in tags:
              tag = session.query(Tag).filter_by(name=tag_name).first()
  
              if not tag:
                  # Create the tag
                  tag = Tag(name=tag_name)
  
              statement.tags.append(tag)
  
          session.add(statement)
  
          session.flush()
  
          session.refresh(statement)
  
          statement_object = self.model_to_object(statement)
  
          self._session_finish(session)
  
          return statement_object
docs: Creates a new statement matching the keyword arguments specified.
          Returns the created statement.