/**
  * Overwrite to set the node name if not set
  *
  * @param EntityInterface $entity
  * @throws \RuntimeException
  * @return bool|void
  */
 public function store(EntityInterface $entity)
 {
     /** @var $meta \Doctrine\ODM\PHPCR\Mapping\ClassMetadata */
     $meta = $this->om->getClassMetaData(get_class($entity->getObject()));
     if (!property_exists($entity->getObject(), $meta->nodename)) {
         throw new RuntimeException('nodename need to be mapped to ' . get_class($entity->getObject()));
     }
     $nodename = $meta->getFieldValue($entity->getObject(), $meta->nodename);
     if (empty($nodename)) {
         //in case of node creation the nodename is empty
         $name = $this->generateNodeName($entity);
         //set a guessed nodename
         $meta->setFieldValue($entity->getObject(), $meta->nodename, $name);
     }
     try {
         return parent::store($entity);
     } catch (ItemExistsException $iee) {
         //an item with the same title already exists
         return false;
     }
 }