/**
  * {@inheritdoc}
  */
 public function asJson($pretty = false, $encode = true)
 {
     $data = parent::asJson($pretty, false);
     // enforce _embedded.items for collections
     if (array_key_exists('_embedded', $data) === false || array_key_exists('items', $data['_embedded']) === false) {
         $data['_embedded']['items'] = [];
     }
     return json_encode($data);
 }
 public function __construct(RestedServiceInterface $restedService, UrlGeneratorInterface $urlGenerator, CompiledResourceDefinitionInterface $resourceDefinition, ResourceInterface $resource, ContextInterface $context, $href, array $data, $instance = null)
 {
     parent::__construct($restedService, $urlGenerator, $resource, $context, $href, $data);
     $this->addActions($resourceDefinition, [ActionDefinition::TYPE_DELETE, ActionDefinition::TYPE_INSTANCE_AFFORDANCE, ActionDefinition::TYPE_UPDATE], $instance);
 }