You shouldn't do this.  I can't promise you that parsing the body of another RevWalk's RevCommit with a new RevWalk will continue to work in the future.

If you need to ensure the buffer is parsed, you should be passing around the RevWalk that created the RevCommit you passed around, and call parseBody() on that.

parseBody() knows whether or not the buffer is loaded.  Its essentially a no-op if the buffer is already loaded.  Therefore you don't need the rc.getRawBuffer() conditional check around it.

I know we don't promise that getRawBuffer() implies the other things are accessible.  That is, just because getRawBuffer() returns non-null does not imply that getFullMessage() or getAuthorIdent() will work.  Only parseBody() promises that.