private void handleFreshJSON(string data, bool nosave = false, bool overwrite = true)
 {
     lock (favoriteAvatarList)
     {
         lock (savedFavoriteAvatars)
         {
             // Update Ui
             favButton.GetComponent <Button>().interactable = true;
             SimpleAvatarList avatarList = SimpleAvatarList.ParseJSON(data);
             //favoriteAvatarList.Clear();
             foreach (var id in avatarList.avatarIDs)
             {
                 if (!favoriteAvatarList.Contains(id))
                 {
                     favoriteAvatarList.Add(id);
                 }
                 if (!savedFavoriteAvatars.ContainsKey(id) || overwrite)
                 {
                     savedFavoriteAvatars[id] = new SerializableApiAvatar()
                     {
                         id = id, authorId = "", releaseStatus = ""
                     }
                 }
                 ;
             }
             if (!nosave)
             {
                 Save();
             }
             avatarAvailables = true;
         }
     }
 }
        internal static void Save()
        {
            if (!avatarsJSONLoaded)
            {
                return;
            }
            var sal = new SimpleAvatarList();

            sal.version   = SimpleAvatarList.CURRENT_VERSION;
            sal.avatarIDs = favoriteAvatarList.ToArray();
            using (var s = File.OpenWrite("AvatarFav.json.tmp"))
                using (var w = new StreamWriter(s))
                {
                    w.Write(JsonConvert.SerializeObject(sal, Formatting.Indented));
                }
            if (File.Exists("AvatarFav.json"))
            {
                File.Delete("AvatarFav.json");
            }
            File.Move("AvatarFav.json.tmp", "AvatarFav.json");
        }