I don't really understand how Magento collections work, so hopefully this is a simple question...

As the old adage goes, you can't *observe* an experiment without somehow altering it. This seems to hold true for Magento collections. I have a *Featured Products* module that I've written that works quite well. We have recently added *Customer Reviews* to our store. When viewing a category page it shows a random review of products in that category. This also works great. I added the review block to my *Featured Products* page, which was easy to do, but since those products aren't in a specific category, it just pulls a random, usually unrelated, review. To fix this, I modified my **getProductCollection** function in my *Featured* module and added the following to the end, after the collection has been created/saved:

```
$_product = $this->_productCollection->getFirstItem();
$_catIDs = $_product->getCategoryIds();

if(count($_catIDs) > 0)
{
    $_cat = Mage::getModel('catalog/category')->load($_catIDs[0]); 
    Mage::register('current_category', $_cat);
}

```

Unfortunately, the mere act of *looking* at the first item in the collection breaks the pager in the toolbar. No matter which of the paging options I choose, it always shows **all** items when the above code is in place. If I comment out that section it works fine.

So my question is this: *How can I get any information about the products in a collection without somehow changing the collection or breaking the paging?*

**Adding my code to help explain the problem more:**

```
class VPS_Featured_Block_List extends Amasty_Sorting_Block_Catalog_Product_List//Mage_Catalog_Block_Product_List
{
    protected function _getProductCollection()
    {
        if (is_null($this->_productCollection))
        {
            $_attributeNames = 'featured';
            if($this->getAttributeName() != '')
            $_attributeNames = $this->getAttributeName();

            $_attrArray = explode(',', $_attributeNames);

            $this->_productCollection = Mage::getModel('catalog/product')->getCollection();

            $this->_productCollection->addAttributeToSelect('*');

            $_filters = array();

            foreach($_attrArray as $_attr)
            $_filters[] = array('attribute' => $_attr, 'eq' => true);

            $this->_productCollection->addFieldToFilter($_filters);
            //$this->_productCollection->addFieldToFilter(array(array('attribute' => $_attr, 'eq' => true),));

            Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($this->_productCollection);
            Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($this->_productCollection);
            Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($this->_productCollection);

            //Get category of first product in collection (used for featured review)
            $_catIDs = array();

            $_product = $this->_productCollection->getFirstItem();
            $_catIDs = $_product->getCategoryIds();

            if(count($_catIDs) > 0)
            {
                $_cat = Mage::getModel('catalog/category')->load($_catIDs[0]);
                Mage::register('current_category', $_cat);
            }
        }
        return $this->_productCollection;
    }
}

```