private function generate() : Collection
    {
        if (! $this->cache) {
            $this->cache = $this->components
                ->map(function ($classes, $name) {
                    return (new ComponentStatistics($name, $classes))->toArray();
                })
                ->sortBy(function ($component, $_) {
                    return Str::contains($component['component'], 'Test') ? 1 : $component['component'];
                });
        }

        return $this->cache;
    }