public void OnDataReceived(ProtocolBase <TTransportDestType> protocol, IClientCommand 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 IClientCommand); }