public function getUncheckedComponents()
    {
        $returnValue = array();

        
        $rootMock = $this->getRootComponent();
    	foreach($this->getComponents() as $c){
    		if (false === in_array($c, $this->getCheckedComponents()) && $c !== $rootMock){
    			array_push($returnValue, $c);
    		}
    	}
    	
    	// Sort the checked components to make them ordered in the same
        // way the related components where added.
        $components = $this->getComponents();
        $uncheckedComponents = array();
        foreach ($components as $c){
        	foreach ($returnValue as $uC){
        		if ($uC === $c){
        			array_push($uncheckedComponents, $uC);
        		}
        	}
        }
        
        $returnValue = $uncheckedComponents;
        

        return (array) $returnValue;
    }