     fileprivate var bottomTableViewDelegate: UITableViewDelegate?
     fileprivate var baseBottomInset: CGFloat = 0
     fileprivate var openGestureRecognizer: UITapGestureRecognizer!
+    fileprivate var isFirstAppearence: Bool = true
 
     public init(topStyle: UITableViewStyle = .plain, bottomStyle: UITableViewStyle = .plain) {
         self.topTableView = UITableView(frame: CGRect(), style: topStyle)

            self.bottomTableView.deselectRow(at: indexPath, animated: true)
        }

        self.arrange(for: self.view.bounds.size)
        self.bottomTableView.addObserver(self, forKeyPath: "contentSize", options: .initial, context: nil)
    }

    open override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {


        self.isOpen = false
        self.bottomTableView.addGestureRecognizer(self.openGestureRecognizer)

        self.bottomTableView.addObserver(self, forKeyPath: "contentSize", options: .new, context: nil)
    }

    open override func viewWillAppear(_ animated: Bool) {
