             }
         );
     }
-    
-    /*
-    func resolve<T: Thenable where T.ValueType == V, T.ReasonType == NSError, T.ReturnType == Optional<Any>>(#thenable: T)
-    {
-        if self.state != .Pending {
-            return
-        }
-        
-        if let promise = thenable as? Promise<V> {
-            if promise === self {
-                self.onRejected(NSError.promiseTypeError())
-            }
-        }
-        
-        thenable.then(
-            onFulfilled: { (value: V) -> Any? in
-                self.onFulfilled(value)
-                return nil
-            },
-            onRejected: { (reason: NSError) -> Any? in
-                self.onRejected(reason)
-                return nil
-            }
-        )
-    }
-    */
     
     // MARK: - Public APIs
     

        self.resolve(thenable: thenable)
    }
    
    
    // MARK: - Private APIs
    

        return subPromise
    }

    // MARK: - Thenable enhance
    
    public func then(
