<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def handle_pre_call(self, message, connection):
 """Handle incoming request message including CallRequestMessage and CallRequestContinueMessage This method will build the User friendly request object based on the incoming messages. It passes all the messages into the message_factory to build the init request object. Only when it get a CallRequestMessage and a completed arg_1=argstream[0], the message_factory will return a request object. Then it will trigger the async handle_call method. :param message: CallRequestMessage or CallRequestContinueMessage :param connection: tornado connection """

        req = None
        try:
            req = connection.request_message_factory.build(message)
            # message_factory will create Request only when it receives
            # CallRequestMessage. It will return None, if it receives
            # CallRequestContinueMessage.
            if req:
                self.handle_call(req, connection)

        except TChannelError as e:
            log.warn('Received a bad request.', exc_info=True)
            if req:
                e.tracing = req.tracing
            connection.send_error(e)