It seems that this method is not consistent with computeHashCode(). The hash code is based only on the first this.size >> LG_WORD_SIZE longs in the array, while the equals method additionally compares remaining bits. starting from comparisonFirstPos.