public void AppendToTop(IEnumerable <TData> set)
        {
            if (ReferenceEquals(null, set))
            {
                return;
            }

            if (_currentBindRequest is BindPreviousRequest)
            {
                _currentBindRequest.Merge(set);
            }

            var link = _window.Count > 0 ? _bindings.FindFromHead(_window.First.Value.LinkedData) : _bindings.Last;

            while (!ReferenceEquals(null, link))
            {
                TryAppendToWindowTop(link.Value);
                link = link.Previous;
            }

            // обнуляется он только когда есть запас записей
            _currentBindRequest = _bindings.HeadContains(_preBoundaryThreshold, _window.First.Value.LinkedData)
                                ? _currentBindRequest
                                : null;

            UnityEngine.Debug.Log(
                _bindings.ToText(
                    string.Format(
                        "<color=magenta>BINDINGS now are with request: {0}</color>",
                        _currentBindRequest == null ? "null" : _currentBindRequest.GetType().NameNice())));
        }