def find_file(path, source)
      # Search for patches just like we search for software
      candidate_paths = Omnibus.possible_paths_for(path).map do |directory|
        File.join(directory, software.name, source)
      end

      file = candidate_paths.find { |path| File.exist?(path) }

      [candidate_paths, file]
    end
def find_file(path, source)
      # Search for patches just like we search for software
      candidate_paths = Omnibus.possible_paths_for(path).map do |directory|
        File.join(directory, software.name, source)
      end

      file = candidate_paths.find { |path| File.exist?(path) }

      [candidate_paths, file]
    end
Find a file amonst all local files, "remote" local files, and
 {Config#software_gems}.

 @param [String] path
   the path to find the file
 @param [String] source
   the source name of the file to find

 @return [Array<Array<String>, String, nil>]
   an array where the first entry is the list of candidate paths searched,
   and the second entry is the first occurence of the matched file (or
   +nil+) if one does not exist.