I am not a huge fan of this kind of wrapper around a basic list. It is useful as a sort of poor mans typedef (curse you java!). The constructor doesn't let you pass in a size (it's always known how many targets there are in snapshots).

You could live without it by declaring toBytes as a static method and passing in the list.

I sort of question whether my reaction of passing in sizes for array lists is productive considering how fast young gen allocations are and how the cost of this whole thing is dominated by other stuff.