 		 * @return A color.
 		 */
 		public function getColorFromNorm(normValue:Number):Number
-		{
+		{
+			validate();
+			
 			if (normValue < 0 || normValue > 1 || _colorNodes.length == 0)
 				return NaN;
 			

		 */
		public function draw(canvas:Canvas, vertical:Boolean):void
		{
			var g:Graphics = canvas.graphics;
			g.clear();
			var n:int = vertical ? canvas.height : canvas.width;

						<node color="0x3182BD" position="0.75"/>
						<node color="0x08519C" position="1"/>
					</colorRamp>;
			
			if (sessionState is XML)
				sessionState = (sessionState as XML).toXMLString();
			
			super(sessionState as String);
		}
		
		private var _isXML:Boolean = false;
		
		private var _validateTriggerCount:uint = 0;
		
		private function validate():void
		{
			if (_validateTriggerCount == triggerCounter)
				return;
			
			_validateTriggerCount = triggerCounter;
			
			var i:int;
			var pos:Number;
			var color:Number;
