         }
         
         // sort the data as it makes decision about completion of handling
-        var newSort:Sort = new Sort;
+        var newSort:ISort = new Sort;
         var fields:Array = [];
         
         for each (var level:OLAPLevel in levels)
         {
-            var field:SortField = new SortField(level.dataField);
+            var field:ISortField = new SortField(level.dataField);
             fields.push(field);
         }
         

                newSort = new Sort;
                var fields:Array = [];
                
                var field:SortField ;
                for each (level in levels)
                {
                	if (level.attribute && level.attribute.userDataFunction)

import mx.collections.CursorBookmark;
import mx.collections.IList;
import mx.collections.IViewCursor;
import mx.collections.ISort;
import mx.collections.ISortField;
import mx.collections.Sort;
import mx.collections.SortField;
import mx.core.mx_internal;
