Здравствуйте.
Сепарирую передаваемое значение:

Код AS3:
public function set subject(obj:*):void
{
if(obj==null) {
childsLayer.removeChild(icoObject);
icoObject=null;
} else {
if(obj as Class) {
if(icoObject != null){childsLayer.removeChild(icoObject);}
icoObject=new obj();}
if(obj as Object) {
if(icoObject != null){childsLayer.removeChild(icoObject);}
icoObject=obj;}}
Redraw();
}
Тем самым хочу отсеять экземпляр созданный с new и просто класс:

Код AS3:
btn1.subject = new ccb();
btn1.subject = ccb;
Но ничего не выходит, они все являются Object.
Как бы отсепарировать два аргумента подобным образом?