@Override
public int hashCode()
{
int hashCode = 1;
BooleanIterable iterable = this.delegate.asReversed();
BooleanIterator iterator = iterable.booleanIterator();
while (iterator.hasNext())
{
boolean item = iterator.next();
hashCode = 31 * hashCode + (item ? 1231 : 1237);
}