/**
  * Returns an array of ContentTypeInterface's. Subclasses can override it to
  * add component specific elements.
  *
  * @param   EntityInterface $entity The entity
  *
  * @return  \Joomla\Content\ContentTypeInterface[]
  */
 protected function getElements(EntityInterface $entity)
 {
     $elements = [];
     if ($entity->has('title')) {
         $elements['title'] = new Headline($entity->title, 1);
     }
     if ($entity->has('author')) {
         $elements['author'] = new Attribution('Written by', $entity->author);
     }
     if ($entity->has('teaser')) {
         $elements['teaser'] = new Paragraph($entity->teaser, Paragraph::EMPHASISED);
     }
     if ($entity->has('body')) {
         $elements['body'] = new Paragraph($entity->body);
     }
     $elementsData = $this->getCommandBus()->handle(new ContentTypeQuery($entity, $elements));
     foreach ($elementsData as $data) {
         $elements = array_merge($elements, $data);
     }
     return $elements;
 }
 public function delete(EntityInterface $entity)
 {
     echo "Deleting {$entity->type()}#{$entity->id}\n";
 }