protected function fromNodeTypeDefinition(NodeTypeDefinitionInterface $ntd)
{
$this->name = $ntd->getName();
$this->isAbstract = $ntd->isAbstract();
$this->isMixin = $ntd->isMixin();
$this->isQueryable = $ntd->isQueryable();
$this->hasOrderableChildNodes = $ntd->hasOrderableChildNodes();
$this->primaryItemName = $ntd->getPrimaryItemName();
$this->declaredSuperTypeNames = $ntd->getDeclaredSupertypeNames();
$this->declaredPropertyDefinitions = new ArrayObject($ntd->getDeclaredPropertyDefinitions() ?: array());
$this->declaredNodeDefinitions = new ArrayObject($ntd->getDeclaredChildNodeDefinitions() ?: array());
}