/**
  * Sets a collection entry
  *
  * @param string $index
  * @param string $content
  *
  * @throws \MarkdownExtended\Exception\UnexpectedValueException it the argument does not implement `\MarkdownExtended\API\ContentInterface`
  */
 public function offsetSet($index, $content)
 {
     if (!is_object($content) || !Kernel::valid($content, Kernel::TYPE_CONTENT)) {
         throw new UnexpectedValueException(sprintf('Method "%s" expects the second parameter to implement "%s", got "%s"', __METHOD__, Kernel::CONTENT_INTERFACE, is_object($content) ? get_class($content) : gettype($content)));
     }
     parent::offsetSet($index, $content);
 }
 /**
  * Gets rendering results
  *
  * @param bool $as_array
  * @return array
  */
 public function getResults($as_array = false)
 {
     $results = $this->results;
     if ($as_array) {
         $item_callback = function (&$item) {
             /* @var $item \MarkdownExtended\API\ContentInterface */
             return $item = is_object($item) && Kernel::valid($item, Kernel::TYPE_CONTENT) ? array_filter($item->__toArray()) : $item;
         };
         array_walk($results, $item_callback);
     }
     return $results;
 }