private InsaneSourceMapRemover(SourceMap sourceMap, MapTileSourceFactory mapTileSourceFactory, InsaneSourceMapRemover.UndoAdddSourceMapDelegate removeSourceMapDelegate, int tryCount)
		{
			this.sourceMap = sourceMap;
			this.mapTileSourceFactory = mapTileSourceFactory;
			this.undoAddSourceMapDelegate = removeSourceMapDelegate;
			this.tryCount = tryCount;
			if (tryCount > 3)
			{
				return;
			}
			Present present = mapTileSourceFactory.CreateUnwarpedSource(sourceMap).GetImagePrototype(new ImageParameterFromTileAddress(ContinuousCoordinateSystem.theInstance), (FutureFeatures)7).Curry(new ParamDict(new object[]
			{
				TermName.TileAddress,
				new TileAddress(0, 0, ContinuousCoordinateSystem.theInstance.GetDefaultView().zoom)
			})).Realize("SourceMap.CheckRendererSanity");
			AsyncRef asyncRef = (AsyncRef)present;
			asyncRef.AddCallback(new AsyncRecord.CompleteCallback(this.RendererSanityCheckComplete));
			new PersistentInterest(asyncRef);
		}
		public InsaneSourceMapRemover(SourceMap sourceMap, MapTileSourceFactory mapTileSourceFactory, InsaneSourceMapRemover.UndoAdddSourceMapDelegate removeSourceMapDelegate) : this(sourceMap, mapTileSourceFactory, removeSourceMapDelegate, 0)
		{
		}