     override protected function focusInHandler(event:FocusEvent):void
     {
         // No-op. Flex focus management does all the work.
+    }
+    
+    //--------------------------------------------------------------------------
+    //
+    //  Methods: IVisualElementContainer
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Returns 1 if there is a viewport, 0 otherwise.
+     * 
+     *  @return The number of visual elements in this visual container
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get numElements():int
+    {
+        return content ? 1 : 0;
+    }
+    
+    /**
+     *  Returns the viewport if there is a viewport and the 
+     *  index passed in is 0.  Otherwise, it throws a RangeError.
+     *
+     *  @param index The index of the element to retrieve.
+     *
+     *  @return The element at the specified index.
+     * 
+     *  @throws RangeError If the index position does not exist in the child list.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */ 
+    public function getElementAt(index:int):IVisualElement
+    {
+        if (content && index == 0)
+            return content as IVisualElement;
+        else
+            throw new RangeError("Index " + index + " is out of range.");
+    }
+    
+    /**
+     *  Returns the 0 if the element passed in is the viewport.  
+     *  Otherwise, it throws an ArgumentError.
+     *
+     *  @param element The element to identify.
+     *
+     *  @return The index position of the element to identify.
+     * 
+     *  @throws ArgumentError If the element is not a child of this object.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */ 
+    public function getElementIndex(element:IVisualElement):int
+    {
+        if (element != null && element == content)
+            return 0;
+        else
+            throw ArgumentError(element + " is not found in this container.");
+    }
+    
+    /**
+     *  @inheritDoc
+     * 
+     *  <p>This operation is not supported in ContainerMovieClip.  ContainerMovieClip 
+     *  only has one child.  Use the <code>content</code> property to manipulate 
+     *  it.</p>
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function addElement(element:IVisualElement):IVisualElement
+    {
+        throw new ArgumentError("This operation is not supported.");
+    }
+    
+    /**
+     *  @inheritDoc
+     * 
+     *  <p>This operation is not supported in ContainerMovieClip.  ContainerMovieClip 
+     *  only has one child.  Use the <code>content</code> property to manipulate 
+     *  it.</p>
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function addElementAt(element:IVisualElement, index:int):IVisualElement
+    {
+        throw new ArgumentError("This operation is not supported.");
+    }
+    
+    /**
+     *  @inheritDoc
+     * 
+     *  <p>This operation is not supported in ContainerMovieClip.  ContainerMovieClip 
+     *  only has one child.  Use the <code>content</code> property to manipulate 
+     *  it.</p>
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function removeElement(element:IVisualElement):IVisualElement
+    {
+        throw new ArgumentError("This operation is not supported.");
+    }
+    
+    /**
+     *  @inheritDoc
+     * 
+     *  <p>This operation is not supported in ContainerMovieClip.  ContainerMovieClip 
+     *  only has one child.  Use the <code>content</code> property to manipulate 
+     *  it.</p>
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function removeElementAt(index:int):IVisualElement
+    {
+        throw new ArgumentError("This operation is not supported.");
+    }
+    
+    /**
+     *  @inheritDoc
+     * 
+     *  <p>This operation is not supported in ContainerMovieClip.  ContainerMovieClip 
+     *  only has one child.  Use the <code>content</code> property to manipulate 
+     *  it.</p>
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function removeAllElements():void
+    {
+        throw new ArgumentError("This operation is not supported.");
+    }
+    
+    /**
+     *  @inheritDoc
+     * 
+     *  <p>This operation is not supported in ContainerMovieClip.  ContainerMovieClip 
+     *  only has one child.  Use the <code>content</code> property to manipulate 
+     *  it.</p>
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function setElementIndex(element:IVisualElement, index:int):void
+    {
+        throw new ArgumentError("This operation is not supported.");
+    }
+    
+    /**
+     *  @inheritDoc
+     * 
+     *  <p>This operation is not supported in ContainerMovieClip.  ContainerMovieClip 
+     *  only has one child.  Use the <code>content</code> property to manipulate 
+     *  it.</p>
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function swapElements(element1:IVisualElement, element2:IVisualElement):void
+    {
+        throw new ArgumentError("This operation is not supported.");
+    }
+    
+    /**
+     *  @inheritDoc
+     * 
+     *  <p>This operation is not supported in ContainerMovieClip.  ContainerMovieClip 
+     *  only has one child.  Use the <code>content</code> property to manipulate 
+     *  it.</p>
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function swapElementsAt(index1:int, index2:int):void
+    {
+        throw new ArgumentError("This operation is not supported.");
     }
 }
 }

    
    private var _fillContentToSize:Boolean = false;
    
    /**
     *  Whether the flex content is sized to be the same size as the flash 
     *  container.

    
    private var _scaleContent:Boolean = false;
    
    [Inspectable(category="General", enumeration="false,true", defaultValue="false")]
    /**
     *  Whether the scale of the container due to sizing 
     *  affects the scale of the flex content.
