You could either completely reset the world, hook into worldedit and use schematics, or save the arena in an array with blocks and their location and then replace the arena.
What I do is I make a template of the chunks that I want to restore. Basically I make a copy of the chunks in another location, and then when the map is destroyed, I take the old destroyed arena and copy the template over it
Store the blocks & blockstate in a HashMap, then set the blockstate to the stored one when you reset.