/// <summary>
        /// Builds a gradient map based upon <see cref="BusColorGradient"/> and
        /// <see cref="BusColorTransform"/> for the data in this network.
        /// </summary>
        /// <param name="Network">The network that data should be taken from.</param>
        /// <returns>A map of gradients.</returns>
        protected AdaptiveGradientMap <Tuple <Brush, Pen> > BuildGradientMap(NetworkModel Network)
        {
            //1. Setup adaptive gradient.
            BusColorGradient.ResetAutoData();
            foreach (var b in Network.Buses.Values)
            {
                BusColorGradient.ProcessData(BusColorTransform(b));
            }

            AdaptiveGradientMapBuilder mapBuilder = new AdaptiveGradientMapBuilder(BusColorGradient);

            AdaptiveGradientMap <Tuple <Brush, Pen> > colorMap = mapBuilder.BuildGradientMap(c =>
            {
                Brush b = new SolidColorBrush(c);
                b.Freeze();
                Pen p = new Pen(b, LineThickness);
                p.Freeze();
                return(new Tuple <Brush, Pen>(b, p));
            });

            return(colorMap);
        }
        /// <summary>
        /// Builds a gradient map based upon <see cref="BusColorGradient"/> and
        /// <see cref="BusColorTransform"/> for the data in this network.
        /// </summary>
        /// <param name="Network">The network that data should be taken from.</param>
        /// <returns>A map of gradients.</returns>
        protected AdaptiveGradientMap<Tuple<Brush, Pen>> BuildGradientMap(NetworkModel Network)
        {
            //1. Setup adaptive gradient.
            BusColorGradient.ResetAutoData();
            foreach (var b in Network.Buses.Values)
                BusColorGradient.ProcessData(BusColorTransform(b));

            AdaptiveGradientMapBuilder mapBuilder = new AdaptiveGradientMapBuilder(BusColorGradient);

            AdaptiveGradientMap<Tuple<Brush, Pen>> colorMap = mapBuilder.BuildGradientMap(c =>
            {
                Brush b = new SolidColorBrush(c);
                b.Freeze();
                Pen p = new Pen(b, LineThickness);
                p.Freeze();
                return new Tuple<Brush, Pen>(b, p);
            });
            return colorMap;
        }