code: def wait(self, timeout=None):
          
          # Optimization for the case the Event is already set.
          if self._flag:
              return True
          hub = get_hub()
          try:
              with switch_back(timeout, lock=self._lock) as switcher:
                  with self._lock:
                      # Need to check the flag again, now under the lock.
                      if self._flag:
                          return True
                      # Allow other fibers to wake us up via callback in set().
                      # The callback goes to switcher.switch directly() instead of
                      # __call__(), because the latter would try to lock our lock
                      # which is already held when callbacks are run by set().
                      handle = add_callback(self, switcher.switch)
                  # See note in Lock.acquire() why we can call to hub.switch()
                  # outside the lock.
                  hub.switch()
          except BaseException as e:
              with self._lock:
                  remove_callback(self, handle)
              if e is switcher.timeout:
                  return False
              raise
          return True
docs: If the internal flag is set, return immediately. Otherwise block
          until the flag gets set by another fiber calling :meth:`set`.