Type.resolveClass не всегда срабатывает

Здравствуйте
Подскажите, пожалуйста, где я ошибся

Вот этот код работает верно

var buttonStyle:StyleVO = new StyleVO();
buttonStyle.className = "button";
buttonStyle.skinClassAlias = "dev.div0.components.skins.ButtonSkin"; // thats OK
buttonStyle.skinClass = Type.createInstance(Type.resolveClass(buttonStyle.skinClassAlias), []);

Но если я подставлю другой класс (это точная копия предидущего, но с другой графикой) в resolveClass, то этот resolveClass отдает null

var buttonStyle:StyleVO = new StyleVO();
buttonStyle.className = "button";
buttonStyle.skinClassAlias = "dev.div0.customSkins.MyButtonSkin"; // thats OK
buttonStyle.skinClass = Type.createInstance(Type.resolveClass(buttonStyle.skinClassAlias), []);

Код работающего скина
-------------------------------------

package dev.div0.components.skins;

import dev.div0.components.ButtonBase;
import dev.div0.components.UIComponent;
import dev.div0.interfaces.IHostComponentChild;
import nme.display.Sprite;
import nme.events.Event;
import nme.display.Bitmap;
import nme.Assets;
import nme.events.MouseEvent;
import nme.text.Font;


import nme.text.TextField;
import nme.text.TextFieldAutoSize;
import nme.text.TextFormat;
import nme.text.TextFormatAlign;


import dev.div0.interfaces.IHostComponentChild;

/**
 * ...
 * @author divisionby0
 */


 /** default button skin **/
class ButtonSkin extends UIComponent, implements IHostComponentChild
{
        private var normalStateBitmap:Bitmap;
        private var downStateBitmap:Bitmap;
       
        public var hostComponent(getHostComponent, setHostComponent):UIComponent;
        private var _hostComponent:UIComponent;
       
        private var _textField:TextField;
        private var _textFormat:TextFormat;
       
        private var font:Font;
       
        private var tfContainer:Sprite;
       
        public function new()
        {
                super();
                _textField = new TextField();
                _textField.selectable = false;
                _textField.autoSize = TextFieldAutoSize.LEFT;
                //_textField.border = true;
                _textFormat = new TextFormat();
        }
       
        override private function init(event:Event):Void
        {
                normalStateBitmap = new Bitmap(Assets.getBitmapData("assets/img/NormalState.png",true));
                downStateBitmap = new Bitmap(Assets.getBitmapData("assets/img/DownState.png",true));
                addChild(normalStateBitmap);
                addChild(downStateBitmap);
               
                downStateBitmap.alpha = 0;
               
                tfContainer = new Sprite();
               
                if (!contains(tfContainer))
                {
                        addChild(tfContainer);
                }
               
                if (!tfContainer.contains(_textField))
                {
                        tfContainer.addChild(_textField);
                }
               
                var hostComponent:ButtonBase = cast(_hostComponent, ButtonBase);
                trace("label=" + hostComponent.label);
               
                if (Std.string(hostComponent.label) != "null")
                {
                        trace("tf container=" + tfContainer);
                        #if android
                        _textFormat = new TextFormat("assets_fonts_aricyr_ttf", 20, 0x000000);
                        #else
                        _textFormat = new TextFormat("assets/fonts/aricyr.ttf", 20, 0x000000);
                        #end
                       
                        //_textFormat.align = TextFormatAlign.CENTER;
                        //_textField.defaultTextFormat = _textFormat;
                        _textField.text = hostComponent.label;
                       
                        _textField.x = (width - _textField.width) / 2;
                        _textField.y = (height - _textField.height) / 2;
                }
                else
                {
                        trace("No label for button");
                }
               
               
                addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
                stage.addEventListener(MouseEvent.MOUSE_UP, stageMouseUpHandler);
               
                super.init(event);
        }
       

        // host component getter/setter
        public function getHostComponent():UIComponent
        {
                return _hostComponent;
        }
        public function setHostComponent(value:UIComponent):UIComponent
        {
                _hostComponent = value;
                return _hostComponent;
        }
       
        private function removedFromStageHandler(event:Event):Void
        {
                removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
                trace("BUTTON SKIN removed from stage");
        }
       
        private function mouseDownHandler(event:MouseEvent):Void
        {
                downStateBitmap.alpha = 1;
        }
       
        private function stageMouseUpHandler(event:MouseEvent):Void
        {
                downStateBitmap.alpha = 0;
        }
}

Код неработающего скина
---------------------------------

package dev.div0.customSkins;

import dev.div0.components.ButtonBase;
import dev.div0.components.UIComponent;
import dev.div0.interfaces.IHostComponentChild;

import nme.display.Sprite;
import nme.events.Event;
import nme.display.Bitmap;
import nme.Assets;
import nme.events.MouseEvent;
import nme.text.Font;

import nme.text.TextField;
import nme.text.TextFieldAutoSize;
import nme.text.TextFormat;
import nme.text.TextFormatAlign;

import dev.div0.interfaces.IHostComponentChild;

/**
 * ...
 * @author divisionby0
 */


 /** custom button skin **/
class MyButtonSkin extends UIComponent, implements IHostComponentChild
{
        private var normalStateBitmap:Bitmap;
        private var downStateBitmap:Bitmap;
       
        public var hostComponent(getHostComponent, setHostComponent):UIComponent;
        private var _hostComponent:UIComponent;
       
        private var _textField:TextField;
        private var _textFormat:TextFormat;
       
        private var font:Font;
       
        private var tfContainer:Sprite;
       
        public function new()
        {
                super();
        }
       
        override private function init(event:Event):Void
        {
                normalStateBitmap = new Bitmap(Assets.getBitmapData("assets/img/CustomButtonNormalState.png",true));
                downStateBitmap = new Bitmap(Assets.getBitmapData("assets/img/CustomButtonNormalState.png",true));
                addChild(normalStateBitmap);
                addChild(downStateBitmap);
               
                downStateBitmap.alpha = 0;
               
                addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
                stage.addEventListener(MouseEvent.MOUSE_UP, stageMouseUpHandler);
               
                super.init(event);
        }
       

        // host component getter/setter
        public function getHostComponent():UIComponent
        {
                return _hostComponent;
        }
        public function setHostComponent(value:UIComponent):UIComponent
        {
                _hostComponent = value;
                return _hostComponent;
        }
       
        private function removedFromStageHandler(event:Event):Void
        {
                removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
                trace("BUTTON SKIN removed from stage");
        }
       
        private function mouseDownHandler(event:MouseEvent):Void
        {
                downStateBitmap.alpha = 1;
        }
       
        private function stageMouseUpHandler(event:MouseEvent):Void
        {
                downStateBitmap.alpha = 0;
        }
}