protected function takeChildFromDOM($child)
 {
     $absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
     switch ($absoluteNodeName) {
         case $this->lookupNamespace('atom') . ':' . 'author':
             $author = new Extension\Author();
             $author->transferFromDOM($child);
             $this->_author[] = $author;
             break;
         case $this->lookupNamespace('atom') . ':' . 'category':
             $category = new Extension\Category();
             $category->transferFromDOM($child);
             $this->_category[] = $category;
             break;
         case $this->lookupNamespace('atom') . ':' . 'contributor':
             $contributor = new Extension\Contributor();
             $contributor->transferFromDOM($child);
             $this->_contributor[] = $contributor;
             break;
         case $this->lookupNamespace('atom') . ':' . 'id':
             $id = new Extension\Id();
             $id->transferFromDOM($child);
             $this->_id = $id;
             break;
         case $this->lookupNamespace('atom') . ':' . 'link':
             $link = new Extension\Link();
             $link->transferFromDOM($child);
             $this->_link[] = $link;
             break;
         case $this->lookupNamespace('atom') . ':' . 'rights':
             $rights = new Extension\Rights();
             $rights->transferFromDOM($child);
             $this->_rights = $rights;
             break;
         case $this->lookupNamespace('atom') . ':' . 'title':
             $title = new Extension\Title();
             $title->transferFromDOM($child);
             $this->_title = $title;
             break;
         case $this->lookupNamespace('atom') . ':' . 'updated':
             $updated = new Extension\Updated();
             $updated->transferFromDOM($child);
             $this->_updated = $updated;
             break;
         default:
             parent::takeChildFromDOM($child);
             break;
     }
 }