public function applyToItem(QueryBuilder $queryBuilder, QueryNameGeneratorInterface $queryNameGenerator, string $resourceClass, array $identifiers, string $operationName = null, array $context = [])
{
$options = [];
if (null !== $operationName) {
$options = ['item_operation_name' => $operationName];
}
$forceEager = $this->isForceEager($resourceClass, $options);
if (isset($context['groups'])) {
$groups = ['serializer_groups' => $context['groups']];
} elseif (isset($context['resource_class'])) {
$groups = $this->getSerializerGroups($context['resource_class'], $options, isset($context['api_denormalize']) ? 'denormalization_context' : 'normalization_context');
} else {
$groups = $this->getSerializerGroups($resourceClass, $options, 'normalization_context');
}
$this->joinRelations($queryBuilder, $queryNameGenerator, $resourceClass, $forceEager, $queryBuilder->getRootAliases()[0], $groups);
}