private static void ProcessTransfer(PendingRequest pendingRequest)
        {
            if (pendingRequest == null || pendingRequest.Uri == null)
            {
                return;
            }

            try
            {
                if (pendingRequest.Uri.IsAbsoluteUri)
                {
                    _iso.GetItem(pendingRequest.Uri, (img, exc, stat) =>
                    {
                        if (stat == IsoStoreCache.ItemCacheStatus.Hit)
                        {
                            var ms = new MemoryStream(img);
                            var pc = new PendingCompletion(pendingRequest.Image, pendingRequest.Uri, ms);
                            PriorityQueue.AddUiWorkItem(() =>
                            {
                                HandleCompletion(pc);
                            });
                        }
                        else
                        {
                            // Download from network
                            var webRequest = HttpWebRequest.CreateHttp(pendingRequest.Uri);
                            webRequest.AllowReadStreamBuffering = true;     // Don't want to block this thread or the UI thread on network access
                            webRequest.BeginGetResponse(HandleGetResponseResult, new ResponseState(webRequest, pendingRequest.Image, pendingRequest.Uri));
                        }
                    });
                }
                else
                {
                    // Load from application (must have "Build Action"="Content")
                    var originalUriString = pendingRequest.Uri.OriginalString;
                    // Trim leading '/' to avoid problems
                    var resourceStreamUri = originalUriString.StartsWith("/", StringComparison.Ordinal) ? new Uri(originalUriString.TrimStart('/'), UriKind.Relative) : pendingRequest.Uri;
                    // Enqueue resource stream for completion
                    var streamResourceInfo = Application.GetResourceStream(resourceStreamUri);
                    if (null != streamResourceInfo)
                    {
                        var pc = new PendingCompletion(pendingRequest.Image, pendingRequest.Uri, streamResourceInfo.Stream);
                        PriorityQueue.AddUiWorkItem(() =>
                        {
                            HandleCompletion(pc);
                        });
                    }
                }
            }
            catch (NullReferenceException)
            {
                // Trying to address user-found bugs here.
            }
        }