                 
             case .changed:
                 guard let transitionContext = transitionContext else {
-                    fatalError("Invalid 'transitionContext' value. This property should not be nil")
+                    fatalError("Invalid transitionContext value. This property should not be nil")
                 }
                 if transitionStarted && (present && dx > 0 || !present && dx < 0) {
                     updateTransition(percentComplete: progress)

    
    func interactionControllerForPresentation(using animator: UIViewControllerAnimatedTransitioning) -> UIViewControllerInteractiveTransitioning? {
        if interactiveTransition == nil {
            fatalError("Invalid 'interactiveTransition' value. This property should not be nil")
        }
        return interactiveTransition.interactionInProgress ? interactiveTransition : nil
    }
    
    func interactionControllerForDismissal(using animator: UIViewControllerAnimatedTransitioning) -> UIViewControllerInteractiveTransitioning? {
        if interactiveTransition == nil {
            fatalError("Invalid 'interactiveTransition' value. This property should not be nil")
        }
        return interactiveTransition.interactionInProgress ? interactiveTransition : nil
    }

    //MARK: - Private methods
    //
    private func createSnapshotView(from: UIView) -> UIView {
        guard let snapshotView = from.snapshotView(afterScreenUpdates: true) else {
            print("Invalid snapshot view. Default color will be used")
            let placeholderView = UIView()
            placeholderView.frame = from.frame
            placeholderView.backgroundColor = from.backgroundColor
            addShadow(toView: placeholderView)
            return placeholderView
        }
        addShadow(toView: snapshotView)
        return snapshotView
    }

