int (int k, int absentValue) { if (k == 0) { return containsNull ? nullValue : absentValue; } int curr; final int[] key = this.key; int pos; // The starting point. if ((curr = value[pos = Hash.mix(k) & mask]) == 0) { return absentValue; } if (k == key[pos]) { return curr; } while (true) { if ((curr = value[pos = pos + 1 & mask]) == 0) { return absentValue; } if (k == key[pos]) { return curr; } } }