private ClusterGraphicObject(MapPoint mapPoint, IList<Graphic> cluster)
        {
            Geometry = mapPoint;
            Symbol = new ClusterSymbol();

            SolidColorBrush fillColor = _GetFillColor(cluster);
            Attributes.Add(SymbologyContext.FILL_ATTRIBUTE_NAME, fillColor);

            _cluster = cluster;
            foreach(Graphic graphic in _cluster)
                graphic.PropertyChanged += new PropertyChangedEventHandler(graphic_PropertyChanged);

            _SelectIfNeeded();
        }
 /// <summary>
 /// React on route color changed.
 /// </summary>
 void route_PropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     if (e.PropertyName.Equals(Route.PropertyNameColor))
     {
         Color mediaColor = System.Windows.Media.Color.FromArgb(_route.Color.A,
             _route.Color.R, _route.Color.G, _route.Color.B);
         SolidColorBrush brush = new SolidColorBrush(mediaColor);
         Attributes[SymbologyContext.FILL_ATTRIBUTE_NAME] = brush;
         Symbol = new ClusterSymbol();
     }
 }