public function replaceElement(Element $oldElement, Element $newElement)
 {
     $body = str_replace($oldElement->getPlaceholder(), $newElement->getPlaceholder(), $this->body, $count);
     if ($count === 0) {
         throw new QtiModelException('cannot find the element to be replaced');
     } else {
         if ($count > 1) {
             throw new QtiModelException('multiple placeholder found for the element to be replaced');
         }
     }
     $this->removeElement($oldElement);
     $this->setElement($newElement, $body);
 }
 protected function replaceNode(DOMElement $node, Element $element)
 {
     $placeholder = $this->data->createTextNode($element->getPlaceholder());
     $node->parentNode->replaceChild($placeholder, $node);
 }