 	//
 	internal func handleRightPanGesture(gesture: UIPanGestureRecognizer) {
 		if isLeftContainerOpened { return }
-		if .Began == gesture.state {
-			if let vc = rightViewContainer {
-				if let c = rightContainer {
+		if let vc = rightViewContainer {
+			if let c = rightContainer {
+				if .Began == gesture.state {
+					c.point = gesture.locationInView(view)
+					c.state = isRightContainerOpened ? .Opened : .Closed
+					c.frame = vc.frame
 					rightViewController?.beginAppearanceTransition(!isRightContainerOpened, animated: true)
 					addShadow(&rightViewContainer)
 					toggleWindow(shouldOpen: true)
-					c.state = isRightContainerOpened ? .Opened : .Closed
-					c.point = gesture.locationInView(view)
-					c.frame = vc.frame
 					delegate?.sideNavDidBeginRightPan?(self, container: c)
-				}
-			}
-		} else if .Changed == gesture.state {
-			if let vc = rightViewContainer {
-				if let c = rightContainer {
+				} else if .Changed == gesture.state {
 					c.point = gesture.translationInView(gesture.view!)
 					let r = (rightOriginX - vc.frame.origin.x) / vc.frame.size.width
 					let s: CGFloat = 1 - (1 - options.contentViewScale) * r

					c.point = gesture.locationInView(view)
					c.frame = vc.frame
					delegate?.sideNavDidBeginLeftPan?(self, container: c)
				}
			}
		} else if .Changed == gesture.state {
			if let vc = leftViewContainer {
				if let c = leftContainer {
					c.point = gesture.translationInView(gesture.view!)
					let r = (vc.frame.origin.x - leftOriginX) / vc.frame.size.width
					let s: CGFloat = 1 - (1 - options.contentViewScale) * r

	//
	internal func handleLeftPanGesture(gesture: UIPanGestureRecognizer) {
		if isRightContainerOpened { return }
		if let vc = leftViewContainer {
			if let c = leftContainer {
				if .Began == gesture.state {
					leftViewController?.beginAppearanceTransition(!isLeftContainerOpened, animated: true)
					addShadow(&leftViewContainer)
					toggleWindow(shouldOpen: true)
