Volume.cc: message maps

the diffstat speaks for itself.
Ah, here putting `doing` outside makes the code shorter, but I still think the overall clarity would improve if `doing ` were the innermost condition everywhere.