 			self.swizzledPrepare(for: segue, sender: self)
 		}
 	}
-
+	
 }

			let swizzledMethod = class_getInstanceMethod(UIViewController.self, swizzledSelector)
			
			method_exchangeImplementations(originalMethod, swizzledMethod)

			UIViewController.isPrepareForSegueSwizzled = true
		}
		
		self.performingSegueIdentifier = identifier
		self.performingSegueCompletionHandler = prepareHandler
		
		self.performSegue(withIdentifier: identifier, sender: self)
	}

	@objc private func swizzledPrepare(for segue: UIStoryboardSegue, sender: Any?) {
		if let performingSegueIdentifier = self.performingSegueIdentifier,
		   segue.identifier == performingSegueIdentifier
		{
			self.performingSegueIdentifier = nil
			

private var associatedCompletionHandler: ((UIViewController) -> ())?

public extension UIViewController {
	
	private static var isPrepareForSegueSwizzled: Bool {
		get {
			return objc_getAssociatedObject(self, &associatedSwizzleState) as? Bool ?? false
