Problem with classes

I have one class, which I am adding to stage, here is part of the code:

public class ThumbArea extends Sprite {
        
        private var _thumbAreaSprite:Sprite;
        
        public function ThumbArea( xml:XML ) {

            _xml = xml;
            
            addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler, false, 0, true);
            addEventListener(Event.REMOVED_FROM_STAGE, removedFromStageHandler, false, 0, true);

        }
        
        private function addedToStageHandler(e:Event):void {
            
            removeEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
         
            _thumbSprite = new Sprite();
            addChild(_thumbSprite);
            trace("doh");

in my other class, I do this:


_thumbArea = new ThumbArea( _xml );
**addChild(_thumbArea);**
            
trace(_thumbArea.getThumbSprite());

and my output window traces:
null
doh

I dont get this, when I say addChild(_thumbArea); shouldnt all the code in _thumbArea execute first and then continue with code in my parent class?