public function createSerializer($contentType, \DOMNode $node)
{
$serializer = NULL;
if ($this->offsetExists($contentType)) {
$factory = $this->offsetGet($contentType);
if ($factory instanceof SerializerFactory) {
$serializer = $factory->createSerializer($contentType, $node);
} elseif (is_callable($factory)) {
$serializer = $factory($contentType, $node);
}
if (NULL !== $serializer && !method_exists($serializer, '__toString')) {
throw new Exceptions\InvalidSerializer($contentType, get_class($serializer));
}
}
return $serializer;
}