final function Refresh(&$phreezer, $row = null)
    {
		$this->_phreezer = $phreezer;

		// also refresh any children in the cache in case they are accessed
		foreach ($this->_cache as $child)
		{
			if ( in_array("Phreezable", class_parents($child)) )
			{
				$child->Refresh($phreezer, $row);
			}
		}

        if ($row)
        {
            $this->Load($row);
        }

        $this->OnRefresh();
	}