# File lib/less/engine/nodes/element.rb, line 50
      def group
        elements = self.elements.reject {|e| e.is_a?(Mixin::Def) }
        return self unless elements.size > 1

        stack, result, matched = elements.dup, [], false

        elements.each do
          e = stack.first
          result << e unless matched

          matched = stack[1..-1].each do |ee|
            if e.equiv? ee and e.elements.size == 0
              self[e].set << ee
              stack.shift
            else
              stack.shift
              break false
            end
          end if stack.size > 1
        end
        @rules -= (elements - result)
        self
      end