def pause(self):
<EOL>if self._started.isSet() andself._running.isSet() andnot self._pausing.isSet():<EOL><INDENT>self._pausing.set()<EOL>self._plunger.join()<EOL>del self._plunger<EOL>self._pausing.clear()<EOL>self._running.clear()<EOL><DEDENT>else:<EOL><INDENT>raise PlumberError<EOL><DEDENT>
Pauses a running pipeline. This will stop retrieving results from the 
pipeline. Parallel parts of the pipeline will stop after the ``NuMap`` 
buffer is has been filled. A paused pipeline can be run or stopped.