      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function discardDisplayObject(element:IGraphicElement):void
+    mx_internal function discardDisplayObject(element:IGraphicElement):void
     {
         var oldDisplayObject:DisplayObject = element.displayObject;
         if (!oldDisplayObject)

            // the invalid ones.  We should only redraw, no need to redo the layout.
            super.$invalidateDisplayList();
        }
    }

    /**
     *  @copy spark.core.IGraphicElementHost#detachDisplayObject()
     *  
     *  @langversion 3.0
     *  @playerversion Flash 10
     *  @playerversion AIR 2.0
     *  @productversion Flex 4.5
     */
    public function detachDisplayObject(element:IGraphicElement):int
    {
        var displayObject:DisplayObject = element.displayObject;
        if (!displayObject)
            return -1;
        var index:int = getChildIndex(displayObject);
        $removeChild(displayObject);
        return index;
    }

    /**
     *  @copy spark.core.IGraphicElementHost#attachDisplayObject()
     *  
     *  @langversion 3.0
     *  @playerversion Flash 10
     *  @playerversion AIR 2.0
     *  @productversion Flex 4.5
     */
    public function attachDisplayObject(element:IGraphicElement, index:int):void
    {
        if (index == -1)
            return;
        $addChildAt(element.displayObject, index);
    }

    /**

 *  @productversion Flex 4
 */
public class Group extends GroupBase implements IVisualElementContainer, 
                                                IGraphicElementContainer, 
                                                ISharedDisplayObject
{
    /**
