I'm not sure I'm comfortable with the way you've changed the meaning of _revisionNumber.  How is this going to be safe?