@Override
public int hashCode()
{
int hashCode = 1;
LongIterable iterable = this.delegate.asReversed();
LongIterator iterator = iterable.longIterator();
while (iterator.hasNext())
{
long item = iterator.next();
hashCode = 31 * hashCode + (int) (item ^ item >>> 32);
}