    # File lib/nokogiri/xml/node_set.rb, line 96
          def css *paths
            handler = ![
              Hash, String, Symbol
            ].include?(paths.last.class) ? paths.pop : nil

            ns = paths.last.is_a?(Hash) ? paths.pop : nil

            sub_set = NodeSet.new(document)

            each do |node|
              doc = node.document
              search_ns = ns || (doc.root ? doc.root.namespaces : {})

              xpaths = paths.map { |rule|
                [
                  CSS.xpath_for(rule.to_s, :prefix => ".//", :ns => search_ns),
                  CSS.xpath_for(rule.to_s, :prefix => "self::", :ns => search_ns)
                ].join(' | ')
              }

              sub_set += node.xpath(*(xpaths + [search_ns, handler].compact))
            end
            document.decorate(sub_set)
            sub_set
          end