     /**
      *  @inheritDoc
      */ 
-    public function getElementAt(index:int):Object
-    {
-        return getChildAt(index);
+    public function getElementAt(index:int):IVisualElement
+    {
+        return getChildAt(index) as IVisualElement;
     }
     
     /**
      *  @inheritDoc
      */
-    public function getElementIndex(element:Object):int
+    public function getElementIndex(element:IVisualElement):int
     {
         if (! (element is DisplayObject) )
             throw ArgumentError(element + " is not found in this Container");

    /**
     *  @inheritDoc
     */
    public function swapElements(element1:Object, element2:Object):void
    {
        if (! (element1 is DisplayObject) )
            throw ArgumentError(element1 + " is not found in this Container");


import mx.binding.BindingManager;
import mx.containers.utilityClasses.PostScaleAdapter;
import mx.controls.HScrollBar;
import mx.controls.VScrollBar;
import mx.controls.listClasses.IListItemRenderer;
