      *  @inheritDoc
      *  
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function removeElement(element:IVisualElement):IVisualElement
     {

     *  @inheritDoc
     *  
     *  @langversion 3.0
     *  @playerversion Flash 9
     *  @playerversion AIR 1.1
     *  @productversion Flex 3
     */
    public function swapElements(element1:IVisualElement, element2:IVisualElement):void
    {

            }
        }
    }
    
    /**
     *  @private
     *  We're doing special behavior on addEventListener to make sure that 
     *  we successfully capture mouse events, even when there's no background.
     *  However, this means adding an event listener changes the behavior 
     *  a little, and this can be troublesome for overlapping components
     *  that now don't get any mouse events.  This is acceptable normally; 
     *  however, automation adds certain events to the Container, and 
     *  it'd be better if automation support didn't modify the behavior of 
     *  the component.  For this reason, especially, we have an mx_internal 
     *  $addEventListener to add event listeners without affecting the behavior 
     *  of the component.
     */
    mx_internal function $addEventListener(
                            type:String, listener:Function,
                            useCapture:Boolean = false,
                            priority:int = 0,
                            useWeakReference:Boolean = false):void
    {
        super.addEventListener(type, listener, useCapture,
                               priority, useWeakReference);
    }

    /**
     *  @private
