Почти работает...

Код:
registerClassAlias("трансформ", Transform);
registerClassAlias("шейп", Shape);
var out_shape:Shape = new Shape();
//var tranc:Transform = clone(out_shape.transform) as Transform;
with (out_shape.graphics) {lineStyle(2, 0xaaaaff); beginFill( 0x11ff11, 1 );
moveTo(10,0);curveTo(-5,20,10,25);curveTo(25,20,10,0);endFill();}
var mov_2:Shape = clone(out_shape) as Shape;
//addChild(mov_2);
function clone(source:Object):* {
var copier:ByteArray = new ByteArray();
copier.writeObject(source);
copier.position = 0;
return(copier.readObject());
}
Выдает ошибку
ArgumentError: Error #1063: Argument count mismatch on flash.geom::Transform$iinit(). Expected 1, got 0.
at flash.utils::ByteArray/readObject()
at Untitled_fla::MainTimeline/clone()
at Untitled_fla::MainTimeline/Untitled_fla::frame1()
Чего то явно нехватает...
Как скопировать Shape используя ByteArray?