<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _wait_until(self, condition_method, condition_input, timeout=None):
 """ Common method to wait until condition met :param condition_method: method to check the condition :param condition_input: parameter that will be passed to the condition method :param timeout: max time to wait :returns: condition method response """

        # Remove implicitly wait timeout
        self.driver_wrapper.driver.implicitly_wait(0)
        # Get explicitly wait timeout
        timeout = timeout if timeout else self.get_explicitly_wait()
        # Wait for condition
        condition_response = WebDriverWait(self.driver_wrapper.driver, timeout).until(
            lambda s: condition_method(condition_input))
        # Restore implicitly wait timeout from properties
        self.set_implicitly_wait()
        return condition_response