function isVisible($a_ref_id, $a_type)
 {
     global $ilAccess, $tree, $ilSetting;
     if (!$ilAccess->checkAccess('visible', '', $a_ref_id)) {
         return false;
     }
     $is_course = false;
     $container_parent_id = $tree->checkForParentType($a_ref_id, 'grp');
     if (!$container_parent_id) {
         $is_course = true;
         $container_parent_id = $tree->checkForParentType($a_ref_id, 'crs');
     }
     if ($container_parent_id) {
         // do not display session materials for container course/group
         if ($ilSetting->get("repository_tree_pres") == "all_types" && $container_parent_id != $a_ref_id) {
             // get container event items only once
             if (!isset($this->session_materials[$container_parent_id])) {
                 include_once './Modules/Session/classes/class.ilEventItems.php';
                 $this->session_materials[$container_parent_id] = ilEventItems::_getItemsOfContainer($container_parent_id);
             }
             // get item group items only once
             if (!isset($this->item_group_items[$container_parent_id])) {
                 include_once './Modules/ItemGroup/classes/class.ilItemGroupItems.php';
                 $this->item_group_items[$container_parent_id] = ilItemGroupItems::_getItemsOfContainer($container_parent_id);
             }
             if (in_array($a_ref_id, $this->session_materials[$container_parent_id])) {
                 return false;
             }
             if (in_array($a_ref_id, $this->item_group_items[$container_parent_id])) {
                 return false;
             }
         }
     }
     return true;
 }