code: def save_statement(self, statement):
          
          if not isinstance(statement, Statement):
              statement = Statement(statement)
  
          request = HTTPRequest(
              method="POST",
              resource="statements"
          )
          if statement.id is not None:
              request.method = "PUT"
              request.query_params["statementId"] = statement.id
  
          request.headers["Content-Type"] = "application/json"
          request.content = statement.to_json(self.version)
  
          lrs_response = self._send_request(request)
  
          if lrs_response.success:
              if statement.id is None:
                  statement.id = json.loads(lrs_response.data)[0]
              lrs_response.content = statement
  
          return lrs_response
docs: Save statement to LRS and update statement id if necessary
  
          :param statement: Statement object to be saved
          :type statement: :class:`tincan.statement.Statement`
          :return: LRS Response object with the saved statement as content
          :rtype: :class:`tincan.lrs_response.LRSResponse`