/**
  * Convert the entity instance to an array.
  *
  * @return array
  */
 public function toArray()
 {
     $presenter = $this->getPresenter();
     $items = $presenter->getPresentableItems(array_except(get_object_vars($this), '__presenter'));
     $array = [];
     foreach ($items as $name => $item) {
         $array[snake_case($name)] = Decorator::decorateArray($item);
     }
     return $array;
 }