    # File lib/core/facets/dir/multiglob.rb, line 28
      def self.multiglob(*patterns)
        options  = (Hash === patterns.last ? patterns.pop : {})

        if options.delete(:recurse)
          ##patterns += patterns.collect{ |f| File.join(f, '**', '**') }
          multiglob_r(*patterns)
        end

        bitflags = 0
        bitflags |= File::FNM_NOESCAPE if options[:noescape]
        bitflags |= File::FNM_CASEFOLD if options[:casefold]
        bitflags |= File::FNM_PATHNAME if options[:pathname] or options[:strict]
        bitflags |= File::FNM_DOTMATCH if options[:dotmatch] or options[:strict]

        patterns = [patterns].flatten.compact

        if options[:recurse]
          patterns += patterns.collect{ |f| File.join(f, '**', '**') }
        end

        files = []
        files += patterns.collect{ |pattern| Dir.glob(pattern, bitflags) }.flatten.uniq

        return files
      end