     }
     
     private func _reloadLayout(_ animated: Bool, scrollPosition: CollectionViewScrollPosition = .nearest, completion: AnimationCompletion?, needsRecalculation: Bool) {
+        self._layoutRequested = false
         self.layoutLeadingViews()
         
         if needsRecalculation {

            self.contentDocumentView.prepareRect(_preperationRect, force: false)
        }
        self.needsLayoutReload = false
    }
    
    @available(*, unavailable, renamed: "reloadLayout(_:scrollPosition:completion:)")

            if needsLayoutReload { self.needsLayout = true }
        }
    }

    private var _layoutRequested = false
    open func requestLayout(animated: Bool = false, delay delayTime: TimeInterval = 0.01) {
        if _layoutRequested { return }
        self._layoutRequested = true
        delay(delayTime) {
            if self._layoutRequested {
                self.reloadLayout(animated, scrollPosition: .nearest, completion: nil)
            }
        }

    }
    
    open override func layout() {
        self._floatingSupplementaryView.frame = self.bounds
