# File lib/chef/mixin/find_preferred_file.rb, line 66
      def find_preferred_file(cookbook_id, file_type, file_name, fqdn, platform, version)
        file_list = load_cookbook_files(cookbook_id, file_type)
        
        preferences = [
          File.join("host-#{fqdn}", "#{file_name}"),
          File.join("#{platform}-#{version}", "#{file_name}"),
          File.join("#{platform}", "#{file_name}"),
          File.join("default", "#{file_name}")
        ]
        
        file_list_str = file_list.keys.join("\n")
        Chef::Log.debug("Searching for preferred file in\n#{file_list_str}")
        
        preferences.each do |pref|
          Chef::Log.debug("Looking for #{pref}")
          matcher = /^(.+#{Regexp.escape(pref)})$/
          if match = matcher.match(file_list_str)
            return match[1]
          end
        end
        
        raise Chef::Exceptions::FileNotFound, "Cannot find a preferred file for #{file_name}!"
      end