public static function getConfigChecker($extensionIds)
    {
        $returnValue = new common_configuration_ComponentCollection();
        $checkArray = array();
        // resolve dependencies
        foreach (self::getRawChecks($extensionIds) as $c){
            $checkArray[] = $c;
            $comp = common_configuration_ComponentFactory::buildFromArray($c);

            if (!empty($c['value']['id'])){
                $componentArray[$c['value']['id']] = $comp;
            }

            $returnValue->addComponent($comp);

            if (!empty($c['value']['silent']) && $c['value']['silent'] == true){
                $returnValue->silent($comp);
            }
        }
    
        // Deal with the dependencies.
        foreach ($checkArray as $config){
            if (!empty($config['value']['dependsOn']) && is_array($config['value']['dependsOn'])){
                foreach ($config['value']['dependsOn'] as $d){
                    // Find the component it depends on and tell the ComponentCollection.
                    if (!empty($componentArray[$config['value']['id']]) && !empty($componentArray[$d])){
                        $returnValue->addDependency($componentArray[$config['value']['id']], $componentArray[$d]);
                    }
                }
            }
        }
    
        return $returnValue;
    }