protected function getFiltered(
        array $displayers,
        ServerRequestInterface $request,
        Throwable $original,
        Throwable $transformed,
        int $code
    ): array {
        /** @var \Viserio\Component\Contract\Exception\Filter[] $sortedFilters */
        $sortedFilters = [];

        \ksort($this->filters);

        \array_walk_recursive($this->filters, static function ($filter, $key) use (&$sortedFilters): void {
            $sortedFilters[$key] = $filter;
        });

        foreach ($sortedFilters as $filter) {
            $displayers = $filter->filter($displayers, $request, $original, $transformed, $code);
        }

        return \array_values($displayers);
    }