code: def addActionFinish(self):
          
          if self._finishAdded:
              raise AlreadyFinished()
          self._finishAdded = True
  
          def done(result):
              if isinstance(result, Failure):
                  exception = result.value
              else:
                  exception = None
              self._action.finish(exception)
              return result
  
          self.result.addBoth(done)
          return self.result
docs: Indicates all callbacks that should run within the action's context
          have been added, and that the action should therefore finish once
          those callbacks have fired.
  
          @return: The wrapped L{Deferred}.
  
          @raises AlreadyFinished: L{DeferredContext.addActionFinish} has been
              called previously. This indicates a programmer error.