private function sortTeasers(array $teasers, array $result, array $positions, array $items)
    {
        foreach ($teasers as $teaser) {
            $index = $positions[sprintf('%s;%s', $teaser->getType(), $teaser->getId())];
            $result[$index] = $teaser;

            $item = $items[$index];
            if (['type', 'id'] !== array_keys($item)) {
                $result[$index] = $result[$index]->merge($item);
            }
        }

        return $result;
    }