personRepository->find($value)) { return ''; } return $this->personRender->renderString($person, []); }; } public function getLabelMulti(string $key, array $values, string $header): callable { return function ($value) use ($header) { if ('_header' === $value) { return $header; } if (null === $value) { return ''; } $decoded = json_decode((string) $value, null, 512, JSON_THROW_ON_ERROR); if (0 === \count($decoded)) { return ''; } return implode( '|', array_map( function (int $personId) { $person = $this->personRepository->find($personId); if (null === $person) { return ''; } return $this->personRender->renderString($person, []); }, array_unique( array_filter($decoded, static fn (?int $id) => null !== $id), \SORT_NUMERIC ) ) ); }; } }