See https://github.com/basho/riak_core/blob/develop/src/vclock.erl#L251
The logic appears to be:
Sort the vclock so that the youngest entry is first.
If the clock is longer than small_vclock and it's youngest entry is older than young_vclock and it's longer than big_vclock and it's youngest entry is older than old_vclock we remove the youngest entry from the vclock, and start over again.
This seems wrong, shouldn't we remove the oldest entry?