private async Task loadSelectedItemDetailsAsync()
        {
            if (selectedMediaItem == null)
            {
                return;
            }

            try
            {
                IsDetailsLoading = true;
                ContentItemEx details = null;

                if (selectedMediaItem.Expired)
                {
                    await renewItemID(selectedMediaItem);
                }

                try
                {
                    details = await ContentClient.GetDetails(selectedMediaItem.ID);

                    if ((details == null) && await renewItemID(selectedMediaItem))
                    {
                        details = await ContentClient.GetDetails(selectedMediaItem.ID);
                    }
                }
                catch (SessionExpiredException)
                {
                    if (await renewItemID(selectedMediaItem))
                    {
                        markAllExpired();
                        details = await ContentClient.GetDetails(selectedMediaItem.ID);
                    }
                }

                if ((details != null) && (selectedMediaItem is ContentItemEx))
                {
                    (selectedMediaItem as ContentItemEx).UpdateFromDetails(details);
                }
            }
            catch (Exception ex)
            {
                //XXX : Handle error
                LoggerService.Instance.Log("ERROR: MediaContent.loadSelectedItemDetailsAsync: " + ex);
            }
            finally
            {
                IsDetailsLoading = false;
            }
        }