public static void ReverseChunkMap(string chunkMap, string newChunkMap) { logger.DebugFormat("ChunkMap: {0}", chunkMap); var dto = ChunkMapSerializer.Deserialize(chunkMap); var cm = new ChunkMap(dto); cm.FileIndices = dto.FileIndices.Reverse().ToArray(); var l = cm.CopyHashesAsList(); l.Reverse(); cm.SetHashesAsList(l); cm.EofChunkIndex = 0; cm.GenerateChunkIndices(); var newDto = cm.ConvertToDto(); logger.DebugFormat("New ChunkMap: {0}", cm); ChunkMapSerializer.Serialize(newChunkMap, newDto); ChunkMapSerializer.SerializeToXml(newChunkMap + ".xml", cm); }