def get(self, block=True, timeout=None):

        self.not_empty.acquire()
        try:
            if not block:
                if self._empty():
                    raise Empty
            elif timeout is None:
                while self._empty():
                    self.not_empty.wait()
            else:
                if timeout < 0:
                    raise ValueError("'timeout' must be a positive number")
                endtime = _time() + timeout
                while self._empty():
                    remaining = endtime - _time()
                    if remaining <= 0.0:
                        raise Empty
                    self.not_empty.wait(remaining)
            item = self._get()
            self.not_full.notify()
            return item
        finally:
            self.not_empty.release()
Find any constituents that might cover ``span``, and add them
dataset/ETHPy150Open ralfonso/theory/theory/model/mpdqueue.py/Queue.get--crossover with--dataset/ETHPy150Open nltk/nltk/nltk/parse/viterbi.py/ViterbiParser._add_constituents_spanning