/// <summary>
        /// Add a server to the list of servers
        /// </summary>
        /// <param name="lobby">The <see cref="Steamworks.Data.Lobby"/> of the lobby/server to add to the list</param>
        private void AddServer(Steamworks.Data.Lobby lobby)
        {
            for (int i = 0; i < serverList.Count; ++i)
            {
                var server = serverList[i];
                if (server.lobby.Id == lobby.Id)
                {
                    // Already have that server listed nothing else to do
                    return;
                }
            }

            var serverListItemData = new ServerListItemData {
                ListItem = GameObject.Instantiate <ServerListEntry>(serverListEntryTemplate, servers.content),
                lobby    = lobby
            };

            // Make the list item visible
            serverListItemData.ListItem.gameObject.SetActive(true);

            // Make sure we periodically re-request the lobby/server data so the server information in the list is
            // up-to-date
            serverListItemData.NextUpdate = Time.time + 5.0f + UnityEngine.Random.Range(0.0f, 1.0f);

            // Add the server to the list.
            serverList.Add(serverListItemData);
            // Make sure the the newly added server is not selected on the UI
            SetListItemSelected(serverListItemData, false);

            // Make sure every item in the UI is positioned well
            RepositionItems();
            return;
        }
 /// <summary>
 /// Set the border around the selected server entry
 /// </summary>
 /// <param name="data"></param>
 /// <param name="selected"></param>
 private void SetListItemSelected(ServerListItemData data, bool selected)
 {
     data.ListItem.GetComponent <Image>().enabled = selected;
 }
 /// <summary>
 /// Remove a server from the server list based on the list data
 /// </summary>
 /// <param name="item">The <see cref="ServerListItemData"/> to be removed</param>
 private void RemoveServer(ServerListItemData item)
 {
     Destroy(item.ListItem.gameObject);
     serverList.Remove(item);
     RepositionItems();
 }