private function doDeserializeChild($serialization)
 {
     if (!isset($serialization['subject'])) {
         return ExpElement::newFromSerialization($serialization);
     }
     $element = $this->newExpData($serialization['subject']);
     $this->doDeserialize($serialization, $element);
     return $element;
 }
 /**
  * @dataProvider serializationMissingElementProvider
  */
 public function testDeserializiationForMissingElementThrowsException($serialization)
 {
     $this->setExpectedException('RuntimeException');
     ExpElement::newFromSerialization($serialization);
 }
 /**
  * @dataProvider instanceProvider
  */
 public function testSerielization(ExpElement $element)
 {
     $serialization = ExpElement::newFromSerialization($element->getSerialization());
     $this->assertEquals($element->getDataItem(), $serialization->getDataItem());
 }