     /**
      * @private
      */
-    protected function deriveComplexColumnData( data:Object ):Object 
+    protected function deriveComplexColumnData(data:Object):Object 
     {
         var currentRef:Object = data;
-        if ( complexFieldNameComponents ) 
-        {
-            for ( var i:int=0; currentRef && i < complexFieldNameComponents.length; i++ )
-                currentRef = currentRef[ complexFieldNameComponents[ i ] ];
+		var length:int = complexFieldNameComponents.length
+		
+        if (complexFieldNameComponents) 
+        {
+            for (var i:int=0; currentRef && i < length; i++)
+                currentRef = currentRef[complexFieldNameComponents[i]];
         }
         
         return currentRef?currentRef:"";


        if (typeof(data) == "object" || typeof(data) == "xml")
        {
            try
            {
                if (!hasComplexFieldName) 
                	data = data[dataField];
                else 
                    data = deriveComplexColumnData(data);
            }
            catch(e:Error)
            {
                data = null;
            }
        }

        if (data is String)

            var field:String = dataTipField;
            if (!field)
                field = owner.dataTipField;

            if (field in data && data[field] != null)
                data = data[field];
            else if (dataField in data && data[dataField] != null)
                data = data[dataField];
			else
				data = null;
        }

        if (data is String)
