SerializableBlockData blockData = originalBlocks.get(location); // get original block data
if (blockData == null) return; // no NPEs, should not happen here, but just to make sure...
// repair it
Block block = location.getBlock();
// get old data
BlockState oldState = block.getState();
block.setTypeIdAndData(blockData.getTypeId(), blockData.getData(), false);
// update chunk information
block.getWorld().refreshChunk(block.getChunk().getX(), block.getChunk().getZ());
air.remove(location);
// notify others - and myself