protected function unmarshall(DOMElement $element)
    {
        $component = new Colgroup();

        if (($span = $this->getDOMElementAttributeAs($element, 'span', 'integer')) !== null) {
            $component->setSpan($span);
        }

        $cols = new ColCollection();
        foreach ($this->getChildElementsByTagName($element, 'col') as $colElt) {
            $marshaller = $this->getMarshallerFactory()->createMarshaller($colElt);
            $cols[] = $marshaller->unmarshall($colElt);
        }
        $component->setContent($cols);

        $this->fillBodyElement($component, $element);

        return $component;
    }