<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def pull(self):
 """Returns a generator containing the results of the next query in the pipeline"""

        # n.b. pull is now somewhat misleadingly named because it doesn't do anything
        # the connection isn't touched until you try and iterate the generator we return
        lock_acquired = self._pull_lock.acquire(blocking=False)
        if not lock_acquired:
            raise PullOrderException()
        return self._results_generator()