/**
  * Build the amenity icons map.
  *
  * @param Model $model Definition model.
  *
  * @return array
  */
 protected function buildAmenityIconsMap(Model $model)
 {
     $amenityIconsMap = $this->filterAmenityIconsConfig($model->amenityIcons);
     if ($amenityIconsMap) {
         $collection = IconModel::findMultipleByIds(array_unique($amenityIconsMap));
         $icons = [];
         if ($collection) {
             foreach ($collection as $iconModel) {
                 $icons[$iconModel->id] = $iconModel->alias ?: $iconModel->id;
             }
             foreach ($amenityIconsMap as $amenity => $iconId) {
                 if (isset($icons[$iconId])) {
                     $amenityIconsMap[$amenity] = $icons[$iconId];
                 }
             }
         }
     }
     return $amenityIconsMap;
 }
 /**
  * Pre load icon values.
  *
  * @param array            $values Icon ids.
  * @param DefinitionMapper $mapper The definition mapper.
  *
  * @return void
  */
 protected function preLoadIcons(array $values, DefinitionMapper $mapper)
 {
     $collection = IconModel::findMultipleByIds($values);
     if (!$collection) {
         return;
     }
     foreach ($collection as $model) {
         if (!$model->active) {
             continue;
         }
         $icon = $mapper->handle($model);
         if (!$icon) {
             continue;
         }
         foreach ($values as $itemId => $iconId) {
             if ($iconId == $model->id) {
                 $this->icons[$itemId] = $icon;
             }
         }
     }
 }