/**
  * {@inheritdoc}
  */
 public function process(ContextInterface $context)
 {
     /** @var Context $context */
     if (!$context->hasConfigExtra(MaxRelatedEntitiesConfigExtra::NAME)) {
         $context->addConfigExtra(new MaxRelatedEntitiesConfigExtra(self::DEFAULT_MAX_RELATED_ENTITIES));
     }
 }
 /**
  * {@inheritdoc}
  */
 public function process(ContextInterface $context)
 {
     /** @var Context $context */
     if (!$context->hasConfigExtra(ExpandRelatedEntitiesConfigExtra::NAME)) {
         $filterValue = $context->getFilterValues()->get(self::FILTER_KEY);
         if (null !== $filterValue) {
             $includes = $this->valueNormalizer->normalizeValue($filterValue->getValue(), DataType::STRING, $context->getRequestType(), true);
             if (!empty($includes)) {
                 $context->addConfigExtra(new ExpandRelatedEntitiesConfigExtra((array) $includes));
             }
         }
     }
 }
 /**
  * {@inheritdoc}
  */
 public function process(ContextInterface $context)
 {
     /** @var Context $context */
     if (!$context->hasConfigExtra(FilterFieldsConfigExtra::NAME)) {
         $fields = [];
         $filterValues = $context->getFilterValues()->getAll(self::FILTER_KEY);
         foreach ($filterValues as $filterValue) {
             $fields[$filterValue->getPath()] = (array) $this->valueNormalizer->normalizeValue($filterValue->getValue(), DataType::STRING, $context->getRequestType(), true);
         }
         if (!empty($fields)) {
             $context->addConfigExtra(new FilterFieldsConfigExtra($fields));
         }
     }
 }