public void Process()          //todo refactoring
 {
     try {
         Stream = _client.GetStream();
         while (true)
         {
             var message = Stream.GetMessageBytes();
             if (message.Length == 0)
             {
                 break;
             }
             message.GetRequestInfo(out var data, out var itemId, out var roomId, out var queryType);
             Console.WriteLine($"{itemId} {queryType} {data.Length}");
             if (queryType == QueryType.GetAll)
             {
                 if (GameRoomManager.GetIfExistsRoom(roomId))
                 {
                     foreach (var roomData in GameRoomManager.GetData(roomId))
                     {
                         _server.Send(this, roomData);
                     }
                 }
                 continue;
             }
             GameRoomManager.Save(roomId, itemId, data, queryType);
             _server.BroadcastMessage(data, Id);
         }
     } catch (Exception ex) {
         Console.WriteLine(ex.Message);
     } finally {
         _server.RemoveConnection(Id);
         Close();
     }
 }