/**
  * Fetches the list of actions for a single module, saved to the session for performance reasons
  *
  * @param class_module_system_module $objModule
  * @static
  *
  * @return array
  */
 public static function getModuleActionNaviHelper(class_module_system_module $objModule)
 {
     if (class_carrier::getInstance()->getObjSession()->isLoggedin()) {
         $strKey = __CLASS__ . "adminNaviEntries" . $objModule->getSystemid() . class_module_system_aspect::getCurrentAspectId();
         $arrFinalItems = class_carrier::getInstance()->getObjSession()->getSession($strKey);
         if ($arrFinalItems !== false) {
             return $arrFinalItems;
         }
         $objAdminInstance = $objModule->getAdminInstanceOfConcreteModule();
         $arrItems = $objAdminInstance->getOutputModuleNavi();
         $arrItems = array_merge($arrItems, $objAdminInstance->getModuleRightNaviEntry());
         $arrFinalItems = array();
         //build array of final items
         $intI = 0;
         foreach ($arrItems as $arrOneItem) {
             if ($arrOneItem[0] == "") {
                 $bitAdd = true;
             } else {
                 $bitAdd = class_carrier::getInstance()->getObjRights()->validatePermissionString($arrOneItem[0], $objModule);
             }
             if ($bitAdd || $arrOneItem[1] == "") {
                 if ($arrOneItem[1] != "" || (!isset($arrFinalItems[$intI - 1]) || $arrFinalItems[$intI - 1] != "")) {
                     $arrFinalItems[] = $arrOneItem[1];
                     $intI++;
                 }
             }
         }
         //if the last one is a divider, remove it
         if ($arrFinalItems[count($arrFinalItems) - 1] == "") {
             unset($arrFinalItems[count($arrFinalItems) - 1]);
         }
         class_carrier::getInstance()->getObjSession()->setSession($strKey, $arrFinalItems);
         return $arrFinalItems;
     }
     return array();
 }