public function itemsProcFunc(array &$params)
    {
        $this->init();
        if ($params['row']['pid'] > 0) {
            $contentType = is_array($params['row']['CType']) ? $params['row']['CType'][0] : $params['row']['CType'];
            $listType = is_array($params['row']['list_type']) ? $params['row']['list_type'][0] : $params['row']['list_type'];
            $gridType = is_array($params['row']['tx_gridelements_backend_layout']) ? $params['row']['tx_gridelements_backend_layout'][0] : $params['row']['tx_gridelements_backend_layout'];
            $params['items'] = $this->addColPosListLayoutItems(
                $params['row']['pid'],
                $params['items'],
                $contentType,
                $listType,
                $gridType,
                $params['row']['tx_gridelements_container']
            );
        } else {
            // negative uid_pid values indicate that the element has been inserted after an existing element
            // so there is no pid to get the backendLayout for and we have to get that first
            $existingElement = BackendUtility::getRecordWSOL(
                'tt_content',
                -((int)$params['row']['pid']),
                'pid,CType,tx_gridelements_container'
            );
            if ($existingElement['pid'] > 0) {
                $params['items'] = $this->addColPosListLayoutItems(
                    $existingElement['pid'],
                    $params['items'],
                    $existingElement['CType'],
                    $existingElement['list_type'],
                    $existingElement['tx_gridelements_backend_layout'],
                    $existingElement['tx_gridelements_container']
                );
            }
        }
    }