code: protected function fetchItems($newsArchives, $blnFeatured, $limit, $offset)
  	{
  		// HOOK: add custom logic
  		if (isset($GLOBALS['TL_HOOKS']['newsListFetchItems']) && \is_array($GLOBALS['TL_HOOKS']['newsListFetchItems']))
  		{
  			foreach ($GLOBALS['TL_HOOKS']['newsListFetchItems'] as $callback)
  			{
  				if (($objCollection = System::importStatic($callback[0])->{$callback[1]}($newsArchives, $blnFeatured, $limit, $offset, $this)) === false)
  				{
  					continue;
  				}
  
  				if ($objCollection === null || $objCollection instanceof Collection)
  				{
  					return $objCollection;
  				}
  			}
  		}
  
  		// Determine sorting
  		$t = NewsModel::getTable();
  		$arrOptions = array();
  
  		switch ($this->news_order)
  		{
  			case 'order_headline_asc':
  				$arrOptions['order'] = "$t.headline";
  				break;
  
  			case 'order_headline_desc':
  				$arrOptions['order'] = "$t.headline DESC";
  				break;
  
  			case 'order_random':
  				$arrOptions['order'] = "RAND()";
  				break;
  
  			case 'order_date_asc':
  				$arrOptions['order'] = "$t.date";
  				break;
  
  			default:
  				$arrOptions['order'] = "$t.date DESC";
  		}
  
  		return NewsModel::findPublishedByPids($newsArchives, $blnFeatured, $limit, $offset, $arrOptions);
  	}
docs: Fetch the matching items
  
  @param array   $newsArchives
  @param boolean $blnFeatured
  @param integer $limit
  @param integer $offset
  
  @return Collection|NewsModel|null