values_at (LazyArray)

    # File lib/extlib/lazy_array.rb, line 48
      def values_at(*args)
        accumulator = []

        lazy_possible = args.all? do |arg|
          index, length = extract_slice_arguments(arg)

          if index >= 0 && lazy_possible?(@head, index + length)
            accumulator.concat(head.values_at(*arg))
          elsif index < 0 && lazy_possible?(@tail, index.abs)
            accumulator.concat(tail.values_at(*arg))
          end
        end

        if lazy_possible
          accumulator
        else
          lazy_load
          @array.values_at(*args)
        end
      end