private void DetachLayerEventHandler(Layer layer)
{
if (layer != null)
{
if (layer is ILegendSupport)
(layer as ILegendSupport).LegendChanged -= new EventHandler<EventArgs>(Layer_LegendChanged);
if (layer is ISublayerVisibilitySupport)
(layer as ISublayerVisibilitySupport).VisibilityChanged -= new EventHandler<EventArgs>(Layer_VisibilityChanged);
layer.PropertyChanged -= new PropertyChangedEventHandler(Layer_PropertyChanged);
layer.Initialized -= new EventHandler<EventArgs>(Layer_Initialized);
}
}