protected function path_for_file($fileOrUrl)
 {
     if (!Requirements::$use_cache_busted_file_extensions) {
         return parent::path_for_file($fileOrUrl);
     }
     if (preg_match('{^//|http[s]?}', $fileOrUrl)) {
         return $fileOrUrl;
     } elseif (Director::fileExists($fileOrUrl)) {
         return Controller::join_links(Director::baseURL(), Requirements::get_cache_busted_file_url($fileOrUrl));
     } else {
         return false;
     }
 }
 public static function head($file)
 {
     if ($file && (Director::is_absolute_url($file) || Director::fileExists($file)) && ($ext = pathinfo($file, PATHINFO_EXTENSION)) && ($ext == 'js' || $ext == 'css')) {
         $file = Director::is_absolute_url($file) ? $file : \Controller::join_links(Director::baseURL(), static::get_cache_busted_file_url($file));
         if ($ext == 'js') {
             static::insertHeadTags('<script src="' . $file . '"></script>', $file);
         } else {
             static::insertHeadTags('<link href="' . $file . '" rel="stylesheet" />', $file);
         }
     }
 }