266 |
|
* For explanation of algorithms sharing at least a couple of |
267 |
|
* features with this one, see Mikhail Fomitchev's thesis |
268 |
|
* (http://www.cs.yorku.ca/~mikhail/), Keir Fraser's thesis |
269 |
< |
* (http://www.cl.cam.ac.uk/users/kaf24/), and Håkan Sundell's |
269 |
> |
* (http://www.cl.cam.ac.uk/users/kaf24/), and Hakan Sundell's |
270 |
|
* thesis (http://www.cs.chalmers.se/~phs/). |
271 |
|
* |
272 |
|
* Given the use of tree-like index nodes, you might wonder why |
930 |
|
if (n != null) { |
931 |
|
Node<K,V> f = n.next; |
932 |
|
if (n != b.next) // inconsistent read |
933 |
< |
break;; |
933 |
> |
break; |
934 |
|
Object v = n.value; |
935 |
|
if (v == null) { // n is deleted |
936 |
|
n.helpDelete(b, f); |