code: def tee(self):
          
          if self._result is not _NO_RESULT:
              if not self._isFailure:
                  return succeed(self._result)
              else:
                  return fail(self._result)
  
          d = Deferred()
          self._deferreds.append(d)
          return d
docs: Produces a new deferred and returns it. If this C{MultiDeferred}
          has not been fired (callbacked or errbacked) yet, the deferred
          will not have been fired yet either, but will be fired when
          and if this C{MultiDeferred} gets fired in the future. If this
          C{MultiDeferred} has been fired, returns a deferred
          synchronously fired with the same result.
  
          @return: A deferred that will fire with whatever this object
          is fired with.
          @rtype: L{Deferred}