Thanks Mike, will wrap up and commit.
One thing I wanted to note, and specifically emphasized in javadocs, is that IW.updateBinaryDocValue replaces the existing byte value of all affected documents. We could also easily implement an append type of update, where the given bytes are appended to all affected documents. It's only a matter of defining that on the update itself and in ReaderAndUpdates, instead of overriding a document's value, we read its current value from the reader and append the new bytes.
Unlike NDV updates, append for Binary (and SortedSet) has more value, since it lets you add values to documents whose existing values may not be currently identical, where the current implementation ignores all existing values and makes all affected documents identical. Perhaps it's acceptable, depending on the nature of the update (e.g. update by PK), but I think we should explore adding update capabilities to Binary and SortedSet DV. And also the IW.update API to allow updating by more than just Term, e.g. this thread: http://markmail.org/message/2wmpvksuwc5t57pg.
These are all for separate issues though.