/**
  * Load all libraries for an icon.
  *
  * @param Icon $icon Icon definition
  *
  * @return void.
  */
 protected function loadIconsLibraries($icon)
 {
     foreach ($icon::getRequiredLibraries() as $library) {
         if (!isset($this->libraries[$library])) {
             continue;
         }
         $assets = $this->libraries[$library];
         if (!empty($assets['css'])) {
             list($source, $type) = (array) $assets['css'];
             $this->assets->addStylesheet($source, $type ?: Assets::TYPE_FILE);
         }
         if (!empty($assets['javascript'])) {
             list($source, $type) = (array) $assets['javascript'];
             $this->assets->addJavascript($source, $type ?: Assets::TYPE_FILE);
         }
     }
 }