 //
 
 import UIKit
-
-// MARK: - SegueContext
-
-public class SegueContext {
-}
 
 // MARK: - Context
 

        }
    }

    public func performSegueWithIdentifier(identifier: String, sender: AnyObject? = nil, context: Any?) -> SegueContext {
        return self.performSegueWithIdentifier(identifier, sender: sender, context: context, callback: nil)
    }

    public func performSegueWithIdentifier(identifier: String, sender: AnyObject? = nil, callback: Any?) -> SegueContext {
        return self.performSegueWithIdentifier(identifier, sender: sender, context: nil, callback: callback)
    }

    public func performSegueWithIdentifier(identifier: String, sender: AnyObject? = nil, context: Any?, callback: Any?) -> SegueContext {
#if !DISABLE_SWIZZLING
        self.replacePrepareForSegueIfNeeded()
#endif


        }
    }

    class func revertReplacedPrepareForSegueIfNeeded() {
        if nil != objc_getAssociatedObject(self, &swc_swizzled_already) {
            objc_setAssociatedObject(self, &swc_swizzled_already, nil, objc_AssociationPolicy(OBJC_ASSOCIATION_RETAIN_NONATOMIC))
            let original = class_getInstanceMethod(self, "prepareForSegue:sender:")
            let replaced = class_getInstanceMethod(self, "swc_wrapped_prepareForSegue:sender:")
            method_exchangeImplementations(original, replaced)
        }
    }

    func replacePrepareForSegueIfNeeded() {
        self.dynamicType.replacePrepareForSegueIfNeeded()
    }

    func revertReplacedPrepareForSegueIfNeeded() {
        self.dynamicType.revertReplacedPrepareForSegueIfNeeded()
    }
    
    func swc_wrapped_prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        self.swc_wrapped_prepareForSegue(segue, sender: sender)
        self.swc_prepareForSegue(segue, sender: sender)

        self.revertReplacedPrepareForSegueIfNeeded()
    }

    func swc_prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
