code: @Override
  	public T get(int i) {
  		int size = size();
  		if (i < 0 || i >= size)
  			throw new IndexOutOfBoundsException();
  		
  		Iterator<T> itr;
  		if (i < (size / 2)) {
  			itr = iterator();
  			for (int j = 0; j <= i - 1; j++) 
  				itr.next();
  		} else {
  			itr = descendingIterator();
  			for (int j = size - 1; j >= i + 1; j--) 
  				itr.next();
  		}
  		return itr.next();
  	}
docs: {@inheritDoc}