just FYI

there are basically 3 scenarios:
1) the supplied document with an existing version
a) the existing version was fetched from the db
b) the existing version was not fetched from the db (ie. it may have been flushed to the db, but it was created in this request)
2) the supplied document was never previously persisted and therefore its effectively just a persist call

the tricky topic is really only case 1) .. and here usually only a) is relevant for stuff like node/version name/version created ..