Помогите, не могу сообразить.
У меня есть кастом событие ServerEvent от которого наследуют другие ивенты ServerTableState, ServerPlayerAction, ServerBadCommand, etc.
Поскольку от сервера приходят XMLи, а компоненты приложения работают с ивентами, я решил сбацать класс XML2Event, который бы получал на входе xml а возвращал бы кастомный ивент, который можно было бы далее диспатчить.

Код AS3:
public class XML2Event
{
public function XML2Event() {
}
// Какой класс должен быть в объявлении метода вместо Object,
// учитывая, что возращаться могут разные ивенты? Object?
public function parse(obj:Object):Object {
var event:Object;
var xml = new XML(obj);
switch(xml.localName()) {
case("server_state"):
...
event = new ServerTableState(...);
break;
case("player_action"):
...
event = new ServerPlayerAction(...);
break;
default: // bad command
...
event = new ServerBadCommand(...);
}
return(event);
}
}
В общем, как правильно объявить метод - как возвращающей Object, ServerEvent?
И как правильно приводить созданные разные ивенты к типу возращаемого объекта?
Т.е. как правильно написать метод, возвращающий объекты разных классов?