# File lib/active_support/core_ext/array/grouping.rb, line 87
  def split(value = nil)
    using_block = block_given?

    inject([[]]) do |results, element|
      if (using_block && yield(element)) || (value == element)
        results << []
      else
        results.last << element
      end

      results
    end
  end