You can't clone the map itself. The only way I see this working, is looping through all the elements in one map and cloning them and adding them to the other map. However a map is a lot more than layers and a graphicscontainer. There are many properties that would need cloning. You could also create a stream and use the map's Ipersiststream to save the map to the stream and then load it back into a different map object.