The `if..else` blocks here are almost the same. The `if` block deals with array of snapshots and the `else` block a single snapshot. To avoid duplication can we move the common code to a method which takes an array of snapshots as an argument? I think the volume nicknames are the only thing different. Or does it read better the way you have?