     }
 
     /**
-     * Shows the menu at the current mouse coordinates, popping upwards or leftwards as necessary
-     * to fit the menu into the supplied bounds.
-     */
-    public function popUpIn (bounds :Rectangle) :void
-    {
-        var mx :int = DisplayObject(Application.application).mouseX;
-        var my :int = DisplayObject(Application.application).mouseY;
-
-        // show it at zero zero so that it is layed out and measured
-        show(0, 0);
-        _fitting = bounds;
-
-        // then determine if we need to point it leftwards or upwards
-        if (mx + getExplicitOrMeasuredWidth() > bounds.right) {
-            mx -= getExplicitOrMeasuredWidth();
-        }
-        if (mx < bounds.left) {
-            mx = Math.max(bounds.right - getExplicitOrMeasuredWidth(), bounds.left);
-        }
-        // if we've poped out of the boundaries, just snap it to the lower right corner
-        if (my + getExplicitOrMeasuredHeight() > bounds.bottom) {
-            my -= getExplicitOrMeasuredHeight();
-        }
-        if (my < bounds.top) {
-            my = Math.max(bounds.bottom - getExplicitOrMeasuredHeight(), bounds.top);
-        }
-
-        // finally move it to the correct position
-        x = mx;
-        y = my;
-    }
-
-    /**
      * Shows the menu at the specified mouse coordinates.
      */
     public function popUpAt (mx :int, my :int, popUpwards :Boolean = false,

import flexlib.controls.ScrollableArrowMenu;

import com.threerings.util.CommandEvent;

import com.threerings.flex.menuClasses.CommandMenuItemRenderer;
import com.threerings.flex.menuClasses.CommandListData;

        if (_upping) {
            y = y - getExplicitOrMeasuredHeight();
        }

        PopUpUtil.fit(this);
    }

    /**
