src/Queries/SectionQuery.php
protected function loadModels()
    {
        $queryType = 'SectionQuery::getList';
        $sort = $this->sort;
        $filter = $this->normalizeFilter();
        $countElements = $this->countElements;
        $select = $this->normalizeSelect();
        $navigation = $this->navigation;
        $keyBy = $this->keyBy;

        $callback = function() use ($sort, $filter, $countElements, $select, $navigation) {
            $sections = [];
            $rsSections = $this->bxObject->getList($sort, $filter, $countElements, $select, $navigation);
            while ($arSection = $this->performFetchUsingSelectedMethod($rsSections)) {

                // Если передать nPageSize, то Битрикс почему-то перестает десериализовать множественные свойсвта...
                // Проверим это еще раз, и если есть проблемы то пофиксим.
                foreach ($arSection as $field => $value) {
                    if (
                    is_string($value)
                    && Helpers::startsWith($value, 'a:')
                    && (Helpers::startsWith($field, 'UF_') || Helpers::startsWith($field, '~UF_'))
                    ) {
                        $unserializedValue = @unserialize($value);
                        $arSection[$field] = $unserializedValue === false ? $value : $unserializedValue;
                    }
                }

                $this->addItemToResultsUsingKeyBy($sections, new $this->modelName($arSection['ID'], $arSection));
            }

            return new Collection($sections);
        };

        $cacheParams = compact('queryType', 'sort', 'filter', 'countElements', 'select', 'navigation', 'keyBy');

        return $this->handleCacheIfNeeded($cacheParams, $callback);
    }
protected function loadModels()
    {
        $queryType = 'SectionQuery::getList';
        $sort = $this->sort;
        $filter = $this->normalizeFilter();
        $countElements = $this->countElements;
        $select = $this->normalizeSelect();
        $navigation = $this->navigation;
        $keyBy = $this->keyBy;

        $callback = function() use ($sort, $filter, $countElements, $select, $navigation) {
            $sections = [];
            $rsSections = $this->bxObject->getList($sort, $filter, $countElements, $select, $navigation);
            while ($arSection = $this->performFetchUsingSelectedMethod($rsSections)) {

                // Если передать nPageSize, то Битрикс почему-то перестает десериализовать множественные свойсвта...
                // Проверим это еще раз, и если есть проблемы то пофиксим.
                foreach ($arSection as $field => $value) {
                    if (
                    is_string($value)
                    && Helpers::startsWith($value, 'a:')
                    && (Helpers::startsWith($field, 'UF_') || Helpers::startsWith($field, '~UF_'))
                    ) {
                        $unserializedValue = @unserialize($value);
                        $arSection[$field] = $unserializedValue === false ? $value : $unserializedValue;
                    }
                }

                $this->addItemToResultsUsingKeyBy($sections, new $this->modelName($arSection['ID'], $arSection));
            }

            return new Collection($sections);
        };

        $cacheParams = compact('queryType', 'sort', 'filter', 'countElements', 'select', 'navigation', 'keyBy');

        return $this->handleCacheIfNeeded($cacheParams, $callback);
    }
CIBlockSection::getList substitution.

@return Collection