/**
  * {@inheritdoc}
  */
 public function matches(Element $element)
 {
     if (!parent::matches($element)) {
         return false;
     }
     // ensure this div is for this component
     if ($this->element->getAttribute('data-special') !== 'html') {
         return false;
     }
     return $this;
 }
 /**
  * {@inheritdoc}
  */
 public function matches(Element $element)
 {
     if (!parent::matches($element)) {
         return false;
     }
     // if this is a list, we need children to continue
     if ($this->element->getTagName() == 'ul' && !$this->element->hasChildren()) {
         return false;
     }
     // only process divs that determine 'boxout's
     if ($this->element->getTagName() == 'div' && $this->element->getAttribute('data-boxout') !== 'true') {
         return false;
     }
     // @todo: detect if value = empty and the only node is an image - if so skip for Figure
     return $this;
 }