/**
  * @return array BaseUserWatchesNotifyContent
  */
 public function getUserNotifyContents(SiteModel $site, UserAccountModel $userAccountModel)
 {
     $out = array();
     $userWatchesSiteRepo = new \repositories\UserWatchesSiteRepository();
     $data = $userWatchesSiteRepo->getUserNotifyContentForSiteAndUser($site, $userAccountModel);
     if ($data) {
         // no point carrying on; someone watching a site overrides any data contained within
         return array($data);
     }
     $siteFeatureRepo = new \repositories\SiteFeatureRepository($this->app);
     if ($siteFeatureRepo->doesSiteHaveFeatureByExtensionAndId($site, 'org.openacalendar', 'Group')) {
         $userWatchesGroupRepo = new \repositories\UserWatchesGroupRepository();
         $data = $userWatchesGroupRepo->getUserNotifyContentForSiteAndUser($site, $userAccountModel);
         if ($data) {
             $out = array_merge($out, $data);
         }
     }
     $userWatchesAreaRepo = new \repositories\UserWatchesAreaRepository();
     $data = $userWatchesAreaRepo->getUserNotifyContentForSiteAndUser($site, $userAccountModel);
     if ($data) {
         $out = array_merge($out, $data);
     }
     return $out;
 }