А можно еще сделать вот так:

Код AS3:
/**
* Функция регистрирует псевдоним класса
*
* @param aliasName псевдоним класса
*
* @param object объект для регистрации алиаса
*/
public static function registerAlias(cl:*):void {
var className:String = getQualifiedClassName( cl ).split("::").join(".");
var classProto:Class = getDefinitionByName( className ) as Class;
// регистрируем псевдоним класса экземпляра. и записываем его в
// в массив байт
registerClassAlias( className, classProto )
}
/**
* Функция, которая копирует объект.
*
* @param objectToCopy объект для копирования.
*
* @return скопированный объект.
*/
public static function copyObject(objectToCopy:*):*
{
var stream:ByteArray = new ByteArray();
registerAlias(objectToCopy);
stream.writeObject(objectToCopy);
stream.position = 0;
var copy:* = stream.readObject();
return copy;
}