public override Task NavigatedToAsync(object parameter = null)
 {
     return(Task.Factory.StartNew(async() =>
     {
         do
         {
             await Task.Delay(100);
         } while (ComposerList.Count == 0);
         Device.BeginInvokeOnMainThread(() =>
         {
             if (Device.RuntimePlatform.Equals(Device.iOS)) //iOS
             {
                 if (ComposerSimpleList.Any())
                 {
                     return;
                 }
                 ComposerSimpleList.AddRange(ComposerList);
             }
             else
             {
                 if (Composers.Any())
                 {
                     return;
                 }
                 var groups = ComposerList.GroupBy(x => x.Name.First().ToString());
                 foreach (var group in groups)
                 {
                     var coll = new ComposerGroup();
                     coll.AddRange(group);
                     coll.ShortName = group.Key;
                     Composers.Add(coll);
                 }
             }
         });
     }));
 }