     often need to move the results of one operation into the next one. So this
     can be done here.
 
-    :param: operation, an `NSOperation`
-    :param:, errors, an array of `ErrorType`s.
+    - parameter operation: the child `NSOperation` that has just finished.
+    - parameter errors: an array of `ErrorType`s.
     */
     public func operationDidFinish(operation: NSOperation, withErrors errors: [ErrorType]) {
         // no-op, subclasses can override for their own functionality.

        queue.delegate = self
    }

    public convenience init(operations: NSOperation...) {
        self.init(operations: operations)
    }

    /**
    Cancels all the groups operations.
    */
    public override func cancel() {
        queue.cancelAllOperations()
        super.cancel()
    }

    public override func execute() {
        for operation in operations {
            queue.addOperation(operation)
        }
        queue.suspended = false
        queue.addOperation(finishingOperation)
    }

    /**
    Add an `NSOperation` to the group's queue.
    
    - parameter operation: an `NSOperation` instance.
    */
    public func addOperation(operation: NSOperation) {
        queue.addOperation(operation)
    }

    /**
    Add multiple operations at once.
    
    - parameter operations: an array of `NSOperation` instances.
    */
    public func addOperations(operations: [NSOperation]) {
        queue.addOperations(operations, waitUntilFinished: false)
    }
