def get(self):
        if self.pending:
            return succeed(self.pending.pop(0))
        elif self.backlog is None or len(self.waiting) < self.backlog:
            d = Deferred(canceller=self._cancelGet)
            self.waiting.append(d)
            return d
        else:
            raise QueueUnderflow()
Add `dist` if we ``can_add()`` it and it has not already been added
dataset/ETHPy150Open twisted/twisted/twisted/internet/defer.py/DeferredQueue.get--crossover with--dataset/ETHPy150Open anzev/hedwig/build/pip/pip/_vendor/pkg_resources/__init__.py/Environment.add