docs: def run(self, **kwargs):
          """ Start the tornado server, run forever"""
  
          try:
              loop = IOLoop()
              app = self.make_app()
              app.listen(self.port)
              loop.start()
  
          except socket.error as serr:
              # Re raise the socket error if not "[Errno 98] Address already in use"
              if serr.errno != errno.EADDRINUSE:
                  raise serr
              else:
                  logger.warning('The webserver port {} is already used. May be the HttpRobotServer is already running or another software is using this port.'.format(self.port))