def find_all(short, options = {})
      return to_enum(:find_all, short, options) unless block_given?
      short = ::Pathname.new(short)
      options = DEFAULT_FIND_OPTIONS.merge(options)

      @paths.reverse.each do |path|
        joined = path_join(path, short, options)
        yield joined if (options[:file] && joined.file?) || joined.exist?
      end

      nil
    end
def find_all(short, options = {})
      return to_enum(:find_all, short, options) unless block_given?
      short = ::Pathname.new(short)
      options = DEFAULT_FIND_OPTIONS.merge(options)

      @paths.reverse.each do |path|
        joined = path_join(path, short, options)
        yield joined if (options[:file] && joined.file?) || joined.exist?
      end

      nil
    end
Finds all versions of the short path name in the paths in the path
 sets.  If no block is given, it returns an enumerable; otherwise, if
 a block is given, it yields the joined path if it exists.

 @raise NoFileError If no file could be found.
 @param short [::String, ::Pathname] The "short" path to resolve.
 @param options [{::Symbol => ::Object}] The options for finding.
 @option options [Boolean] :allow_absolute (false)
 @option options [Boolean] :file (true) Whether or not the full path
   must be a file for it to be considered existant.  This should be set
   to true, because in most cases, it's the desired behavior.
 @yield [path] For every file that exists.
 @yieldparam path [::Pathname] The path to the file.  This is guarenteed
   to exist.
 @return [void]