function getByHierarchyControlId($tree_id)
 {
     if ($tree_id == '') {
         return FALSE;
     }
     $this->getFastTreeObject()->setTree($tree_id);
     $children = $this->getFastTreeObject()->getAllChildren(NULL, 'RECURSE');
     $ulf = new UserListFactory();
     $hslf = new HierarchyShareListFactory();
     $hslf->getByHierarchyControlId($tree_id);
     $shared_user_ids = array();
     foreach ($hslf as $hierarchy_share) {
         $shared_user_ids[] = $hierarchy_share->getUser();
     }
     if ($children !== FALSE) {
         foreach ($children as $object_id => $level) {
             if ($object_id !== 0) {
                 $user_obj = $ulf->getById($object_id)->getCurrent();
                 unset($shared);
                 if (in_array($object_id, $shared_user_ids) === TRUE) {
                     $shared = TRUE;
                 } else {
                     $shared = FALSE;
                 }
                 $nodes[] = array('id' => $object_id, 'name' => $user_obj->getFullName(), 'level' => $level, 'shared' => $shared);
             }
         }
         if (isset($nodes)) {
             return $nodes;
         }
     }
     return FALSE;
 }