def reduce(accumulator = nil, &block)
      raise ArgumentError.new("Block must be given") unless block_given?
      each.reduce(accumulator, &block)
    end
def reduce(accumulator = nil, &block)
      raise ArgumentError.new("Block must be given") unless block_given?
      each.reduce(accumulator, &block)
    end
Reduces the results of the query based on the specification
 built up to this point result using provided block.
 {http://railseventstore.org/docs/read/ Find out more}.

 @accumulator starting state for reduce operation
 @return reduce result as defined by block given