code: def disconnect(self, forced=False):
          
          reversed_postorder = reversed(self.postorder())
          self.log.debug('%s trying to disconnect in the order %s' % \
                        (repr(self), repr(reversed_postorder)))
          for piper in reversed_postorder:
              if piper.connected:
                  # we don't want to trigger an exception
                  piper.disconnect(forced)
          self.log.debug('%s succesfuly disconnected' % repr(self))
docs: Given the pipeline topology disconnects ``Pipers`` in the order output 
          -> input. This also disconnects inputs. See ``Dagger.connect``,
          ``Piper.connect`` and ``Piper.disconnect``. If "forced" is ``True``
          ``NuMap`` instances will be emptied.
          
          Arguments:
          
            - forced(``bool``) [default: ``False``] If set ``True`` all tasks from
              all ``NuMaps`` instances used in the ``Dagger`` will be removed even
              if they did not belong to this ``Dagger``.