# File lib/hashery/sparsearray.rb, line 101
  def [](i,l=nil)
    if l
      i = size + i if i < 0
      i = i...i+l
    elsif ! i.kind_of?(Range)
      return self.at(i)
    end
    nha = self.class.new
    i.each { |j| nha.set(nha.length,get(j)) if has_key?(j) }
    nha
  end