/**
  * Loads a singe level of nodes, internal recursion helper
  *
  * @param string $strParentNode
  *
  * @return array
  */
 private function loadSingleLevel($strParentNode)
 {
     $arrReturn = array();
     $arrCurLevel = class_module_navigation_point::getDynamicNaviLayer($strParentNode);
     if (isset($arrCurLevel["node"]) && isset($arrCurLevel["subnodes"])) {
         //switch between added nodes and "real" nodes
         $arrTemp = array();
         $arrTemp["node"] = $arrCurLevel["node"];
         $arrTemp["subnodes"] = $arrCurLevel["subnodes"];
         $arrReturn[] = $arrCurLevel;
     }
     /** @var class_module_navigation_point $objOneNode */
     foreach ($arrCurLevel as $strKey => $objOneNode) {
         if ($strKey !== "node" && $strKey !== "subnodes") {
             if ($objOneNode->getIntRecordStatus() == 1 && $objOneNode->rightView()) {
                 $arrTemp = array();
                 $arrTemp["node"] = $objOneNode;
                 $arrTemp["subnodes"] = $this->loadSingleLevel($objOneNode->getSystemid());
                 $arrReturn[] = $arrTemp;
             }
         }
     }
     return $arrReturn;
 }