             nativeMenuItem.addEventListener(flash.events.Event.SELECT, itemSelectHandler, false, 0, true);
             
             // recursive
-            if (dataDescriptor.isBranch(data, mx_internal::_rootModel) &&
-                dataDescriptor.hasChildren(data, mx_internal::_rootModel))
+            if (dataDescriptor.isBranch(data, _rootModel) &&
+                dataDescriptor.hasChildren(data, _rootModel))
             {
                 nativeMenuItem.submenu = createMenu();
                 populateMenu(nativeMenuItem.submenu,
-                    dataDescriptor.getChildren(data, mx_internal::_rootModel));
+                    dataDescriptor.getChildren(data, _rootModel));
             }
         }
         

import mx.events.FlexNativeMenuEvent;
import mx.managers.ILayoutManagerClient;
import mx.managers.ISystemManager;

//--------------------------------------
//  Events

            _hasRoot = true;
            var xl:XMLList = new XMLList();
            xl += value;
            _rootModel = new XMLListCollection(xl);
        }
        //if already a collection dont make new one
        else if (value is ICollectionView)
        {
            _rootModel = ICollectionView(value);
            if (_rootModel.length == 1)
                _hasRoot = true;
        }
        else if (value is Array)
        {
            _rootModel = new ArrayCollection(value as Array);
        }
        //all other types get wrapped in an ArrayCollection
        else if (value is Object)
