public function get($node)
 {
     Type::enforce($node, 'DOMNode');
     $elements = self::findAll($node, $this->selector);
     if (!empty($elements) && $elements->item(0)) {
         $element = $elements->item(0);
         do {
             $element = $element->nextSibling;
         } while ($element !== null && !Type::is($element, 'DOMElement'));
         if ($element && Type::is($element, 'DOMElement')) {
             if ($this->siblingSelector) {
                 $siblings = self::findAll($element, $this->siblingSelector);
                 if (!empty($siblings) && $siblings->item(0)) {
                     $siblingElement = $siblings->item(0);
                 } else {
                     // Returns null because sibling content doesn't match
                     return null;
                 }
             } else {
                 $siblingElement = $element;
             }
             Transformer::markAsProcessed($siblingElement);
             return Transformer::cloneNode($siblingElement);
         }
     }
     return null;
 }
 public function get($node)
 {
     $elements = self::findAll($node, $this->selector);
     if (!empty($elements) && property_exists($elements, 'length') && $elements->length !== 0) {
         Transformer::markAsProcessed($elements->item(0));
         return Transformer::cloneNode($elements->item(0));
     }
     return null;
 }
 public function get($node)
 {
     $elements = self::findAll($node, $this->selector);
     if (!empty($elements)) {
         Transformer::markAsProcessed($elements->item(0));
         return Transformer::cloneNode($elements->item(0));
     }
     return null;
 }
 public function get($node)
 {
     $element = parent::get($node);
     if ($element) {
         $fragment = $element->ownerDocument->createDocumentFragment();
         foreach ($element->childNodes as $child) {
             Transformer::markAsProcessed($child);
             $fragment->appendChild(Transformer::cloneNode($child));
         }
         if ($fragment->hasChildNodes()) {
             return $fragment;
         }
     }
     return null;
 }