<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def start(self, wait=True, timeout=None, wait_polling_interval=None):
 """Start b2g, waiting for the adb connection to become stable. :param wait: :param timeout: Maximum time to wait for restart. :param wait_polling_interval: Interval at which to poll for device readiness. """

        self._logger.info("Starting b2g process")

        if timeout is None:
            timeout = self._timeout

        if wait_polling_interval is None:
            wait_polling_interval = self._wait_polling_interval

        if wait:
            self.wait_for_device_ready(timeout,
                                       after_first=lambda:self.shell_bool("start b2g",
                                                                          timeout=timeout))
        else:
            self.shell_bool("start b2g", timeout=timeout)