/** * @param array|object|null $data * @param EncodingParametersInterface|null $parameters * * @return EncodingParametersInterface */ private function getEncodingParameters($data, EncodingParametersInterface $parameters = null) { if (empty($data) === true && $parameters === null) { return $this->parametersFactory->createEncodingParameters(); } elseif ($parameters !== null && $parameters->getIncludePaths() !== null) { return $parameters; } else { $schema = $this->container->getSchema(is_array($data) ? $data[0] : $data); $includePaths = $schema->getIncludePaths(); $fieldSets = $parameters === null ? null : $parameters->getFieldSets(); return $this->parametersFactory->createEncodingParameters($includePaths, $fieldSets); } }