code: protected function getBookPages($intParentId, $groups, $time)
  	{
  		$objPages = PageModel::findPublishedSubpagesWithoutGuestsByPid($intParentId, $this->showHidden);
  
  		if ($objPages === null)
  		{
  			return;
  		}
  
  		foreach ($objPages as $objPage)
  		{
  			$_groups = StringUtil::deserialize($objPage->groups);
  
  			// Do not show protected pages unless a front end user is logged in
  			if (!$objPage->protected || $this->showProtected || (\is_array($groups) && \is_array($_groups) && \count(array_intersect($groups, $_groups))))
  			{
  				$this->arrPages[$objPage->id] = $objPage;
  
  				if ($objPage->subpages > 0)
  				{
  					$this->getBookPages($objPage->id, $groups, $time);
  				}
  			}
  		}
  	}
docs: Recursively get all book pages
  
  @param integer $intParentId
  @param array   $groups
  @param integer $time