At first glance, my thinking was that it was "no big deal", as implementing a Comparator was straightforward.
Thinking about it a bit, I wonder if it is even possible to do correctly -- and by "correctly", I mean that it has to be atomic and should be done optimistically. I guess I can think about this some more, but in the meantime, what does everyone think about this?