/** * Populate widgets in View's widgetMap. * * @param View $view * @param Widget[] $viewWidgets */ private function populateWidgets(View $view, array $viewWidgets) { foreach ($view->getWidgetMap() as $slotId => $widgetMapArray) { /* @var WidgetMap[] $widgetMapArray */ foreach ($widgetMapArray as $widgetMap) { foreach ($viewWidgets as $viewWidget) { if ($widgetMap->getWidgetId() == $viewWidget->getId()) { $widgetMap->setWidget($viewWidget); break; } } } } }