protected function initClassMap()
 {
     if ($this->_classMap !== null) {
         return;
     }
     $classMapFileLocation = KAutoloader::getClassMapFilePath();
     $this->_classMap = unserialize(file_get_contents($classMapFileLocation));
 }
 private function loadChildTypes(KalturaTypeReflector $typeReflector)
 {
     $typesDir = KALTURA_ROOT_PATH . DIRECTORY_SEPARATOR . "api_v3" . DIRECTORY_SEPARATOR . "lib" . DIRECTORY_SEPARATOR . "types" . DIRECTORY_SEPARATOR;
     $typesDir = realpath($typesDir);
     $classMapFileLcoation = KAutoloader::getClassMapFilePath();
     $classMap = unserialize(file_get_contents($classMapFileLcoation));
     foreach ($classMap as $class => $path) {
         if (strpos($path, $typesDir) === 0) {
             $reflector = new ReflectionClass($class);
             if ($class == 'KalturaFileSyncFilter') {
                 continue;
             }
             if ($reflector->isSubclassOf($typeReflector->getType())) {
                 $classTypeReflector = KalturaTypeReflectorCacher::get($class);
                 if ($classTypeReflector) {
                     $this->loadTypesRecursive($classTypeReflector);
                 }
             }
         }
     }
 }