                 { finished in
                     self.sourceViewController.navigationController?.pushViewController(self.destinationViewController,
                         animated: false)
-                    if isMorphingCopy {
+                    if useCopyForMorphingView {
                         morphingView.removeFromSuperview()
                         // morphingView.hidden = true // Keep it for reverse animation?
                     }

                options: animationOptions,
                animations: {
                    morphingView.frame = sourceVCView.bounds
                    morphingView.setNeedsLayout()
                    morphingView.layoutIfNeeded()
                    if let _ = self.fromView as? UITableViewCell {
                        contentView?.frame = morphingView.bounds
                    }

        
        var morphingView: UIView?
        var contentView: UIView?
        let useCopyForMorphingView = true
        if useCopyForMorphingView {
            // Create a copy of the view hierarchy for morphing, so the original is not changed.
            if let cell = fromView as? UITableViewCell {
                morphingView = cell.copyWithSubviews(nil, includeConstraints: false)
                morphingView?.copySubviews(cell.contentView.subviews, includeConstraints: false)
            } else {
                morphingView = fromView?.copyWithSubviews(fromView?.subviews, includeConstraints: false)
            }
            if let morphingView = morphingView {
                sourceVCView.addSubview(morphingView)
