public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            var viewModel = (BookInfoPageViewModel) value;
            if (viewModel.Book != null)
            {
                var converter = new BookImagePathToSourceConverter();
                return converter.Convert(viewModel.Book, targetType, true, culture);
            }

            return new TaskCompletionNotifier<BitmapImage>(Task.Run(async () =>
                {
                    var taskCompletionSource = new TaskCompletionSource<BitmapImage>();
                    Execute.OnUIThread(() => taskCompletionSource.SetResult(viewModel.ImageUrl != null
                                                                                ? new BitmapImage(viewModel.ImageUrl)
                                                                                : null));
                    return await taskCompletionSource.Task;
                }));
        }
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            var viewModel = (BookInfoPageViewModel)value;

            if (viewModel.Book != null)
            {
                var converter = new BookImagePathToSourceConverter();
                return(converter.Convert(viewModel.Book, targetType, true, culture));
            }

            return(new TaskCompletionNotifier <BitmapImage>(Task.Run(async() =>
            {
                var taskCompletionSource = new TaskCompletionSource <BitmapImage>();
                Execute.OnUIThread(() => taskCompletionSource.SetResult(viewModel.ImageUrl != null
                                                                                ? new BitmapImage(viewModel.ImageUrl)
                                                                                : null));
                return await taskCompletionSource.Task;
            })));
        }