<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create_server_and_run_forever(self, loop=None, **server_config):
 """ Helper function which constructs an HTTP server and listens the loop forever. This function exists only to remove boilerplate code for starting up a growler app. Args: **server_config: These keyword arguments are forwarded directly to the BaseEventLoop.create_server function. Consult their documentation for details. Parameters: loop (asyncio.BaseEventLoop):
 Optional parameter for specifying an event loop which will handle socket setup. **server_config: These keyword arguments are forwarded directly to the create_server function. """

        if loop is None:
            import asyncio
            loop = asyncio.get_event_loop()

        self.create_server(loop=loop, **server_config)
        try:
            loop.run_forever()
        except KeyboardInterrupt:
            pass