         // Please to override it if necessary
     }
     
-    struct LeftPanState {
+    struct leftPanState {
         static var frameAtStartOfPan: CGRect = CGRectZero
         static var startPointOfPan: CGPoint = CGPointZero
         static var wasOpenAtStartOfPan: Bool = false

    
    func closeLeftNonAnimation(){
        self.setCloseWindowLebel()
        var xOrigin: CGFloat = self.leftContainerView.frame.origin.x
        var finalXOrigin: CGFloat = self.leftMinOrigin()
        var frame: CGRect = self.leftContainerView.frame;
        frame.origin.x = finalXOrigin

        switch panGesture.state {
            case UIGestureRecognizerState.Began:
                
                leftPanState.frameAtStartOfPan = self.leftContainerView.frame
                leftPanState.startPointOfPan = panGesture.locationInView(self.view)
                leftPanState.wasOpenAtStartOfPan = self.isLeftOpen()
                leftPanState.wasHiddenAtStartOfPan = self.isLeftHidden()
                
                self.leftViewController?.beginAppearanceTransition(leftPanState.wasHiddenAtStartOfPan, animated: true)
                self.addShadowToView(self.leftContainerView)
                self.setOpenWindowLevel()
            case UIGestureRecognizerState.Changed:
                
                var translation: CGPoint = panGesture.translationInView(panGesture.view!)
                self.leftContainerView.frame = self.applyLeftTranslation(translation, toFrame: leftPanState.frameAtStartOfPan)
                self.applyLeftOpacity()
                self.applyLeftContentViewScale()
            case UIGestureRecognizerState.Ended:
                
                self.leftViewController?.beginAppearanceTransition(!leftPanState.wasHiddenAtStartOfPan, animated: true)
                var velocity:CGPoint = panGesture.velocityInView(panGesture.view)
                var panInfo: PanInfo = self.panLeftResultInfoForVelocity(velocity)
                
