protected virtual void SubscribeMessage(NetworkStream stream) { try { while (true) { if (!stream.DataAvailable) { continue; } var message = stream.GetMessage(Selector); OnMessage(message as INetworkItem); } } catch (Exception ex) { Disconnect(); throw; } }