@Override
	public Iterable<Key> keys(Key firstKey, Key lastKey)
	{
		LinkedList<Key> l = new LinkedList<Key>();
		int lastKeyIndex = rank(lastKey);
		for (int i = rank(firstKey); i < lastKeyIndex; i++)
			l.add(keys[i]);
		if (contains(lastKey))
			l.add(keys[lastKeyIndex]);
		return l;
	}