public void OnDataReceived(ProtocolBase <TTransportDestType> protocol, Transport.CommandsBase.IServerCommand action, Type actiontype) { var data = protocol.ProtocolName != Protocol.ProtocolName ? Protocol.CleanData(protocol.GetDataToSend()) : protocol.GetBody(); var obj = DeSerializer.Deserialize(actiontype, data); action.Execute(this, obj as IServerCommand); }