                 default:
                     self.handleImpossibleMatch()
                 }
-                self.mappedCompletionF?()
+                self.mappedCompletionF?(self.futureValue!)
                 self.interalCompletionHandler?()
                 
                 switch self.futureValue!.toTuple {

                }
            }
            else {
                mappedFuture.completeWith(self.futureValue!.error!)
            }
            
        }

    */
    public func map<D>(f: (T) -> Try<D>) -> Future<D> {
        let mappedFuture = Future<D>(operationQueue: self.operationQueue, callbackQueue: self.callbackQueue)
        self.mappedCompletionF = { futureValue in
            mappedFuture.completeWith {
                if let successfulValue = futureValue.value {
                    return f(successfulValue)
                }
                else {
                    return Try<D>(failure: futureValue.error!)
                }
            }
        }
