public function processInputControlSpecification(\SimpleXMLElement $specification) {
        $collection = array();
        //Create the input type class for each element
        foreach($specification->inputControl as $key => $value) {
            //Get the class of the type where the class name is the input type in the specified namespace
            if ($value->type == 'bool') {
                $value->type = 'checkbox';
            }
            $inputClass = $this->inputControlTypeNamespace . ucfirst($value->type);
            //Try to init the object
            try {
                $collection[] = new $inputClass(
                    (string)$value->id,
                    (string)$value->label,
                    filter_var($value->mandatory, FILTER_VALIDATE_BOOLEAN),
                    filter_var($value->readOnly, FILTER_VALIDATE_BOOLEAN),
                    (string)$value->type,
                    (string)$value->uri,
                    filter_var($value->visible, FILTER_VALIDATE_BOOLEAN),
                    (object)$value->state,
                    $this->getICFrom,
                    $this->optionsHandler
                );
            } catch (\Exception $e) {
                //Missing an input type class
                throw $e;
            }
        }

        //Return the collection
        return $collection;
    }