protected function _setRegions($block = null)
    {
        $regions = plugin()
            ->filter(function ($plugin) {
                return $plugin->isTheme;
            })
            ->map(function ($theme) use ($block) {
                $value = '';
                if ($block !== null && $block->has('region')) {
                    foreach ($block->region as $blockRegion) {
                        if ($blockRegion->theme == $theme->name) {
                            $value = $blockRegion->region;
                            break;
                        }
                    }
                }

                return [
                    'theme_machine_name' => $theme->name,
                    'theme_human_name' => $theme->humanName,
                    'description' => $theme->composer['description'],
                    'regions' => (array)$theme->composer['extra']['regions'],
                    'value' => $value,
                ];
            });
        $this->set('regions', $regions);
    }