/**
  * Creating sorted array of nodes
  *
  * @param array $children
  * @param string $path
  * @param Varien_Object $parent
  */
 public function addChildNodes($children, $path, $parent)
 {
     if (isset($children[$path])) {
         foreach ($children[$path] as $child) {
             $childrenNodes = $parent->getChildrenNodes();
             if ($childrenNodes && isset($childrenNodes[$child->getId()])) {
                 $childrenNodes[$child['entity_id']]->setChildrenNodes(array($child->getId() => $child));
             } else {
                 if ($childrenNodes) {
                     $childrenNodes[$child->getId()] = $child;
                 } else {
                     $childrenNodes = array($child->getId() => $child);
                 }
                 $parent->setChildrenNodes($childrenNodes);
             }
             if ($path) {
                 $childrenPath = explode('/', $path);
             } else {
                 $childrenPath = array();
             }
             $childrenPath[] = $child->getId();
             $childrenPath = implode('/', $childrenPath);
             $this->addChildNodes($children, $childrenPath, $child);
         }
     }
 }