/**
  * {@inheritdoc}
  *
  * @return Category
  */
 protected function createEntity(array $data)
 {
     $category = new Category();
     $category->setCode($data['code']);
     foreach ($this->getLabels($data) as $locale => $label) {
         $translation = $category->getTranslation($locale);
         $translation->setLabel($label);
         $category->addTranslation($translation);
     }
     if ($data['parent']) {
         $parent = new Category();
         $parent->setCode($data['parent']);
         $category->setParent($parent);
     }
     return $category;
 }
 /**
  * {@inheritDoc}
  */
 public function setParent(\Akeneo\Component\Classification\Model\CategoryInterface $parent = NULL)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'setParent', array($parent));
     return parent::setParent($parent);
 }
 /**
  * Create a category
  * @param string $categoryCode
  *
  * @return Category
  */
 protected function createCategory($categoryCode)
 {
     $category = new Category();
     $category->setCode($categoryCode);
     $category->setParent(null);
     return $category;
 }