/// <summary>
            /// creates cached thumbs in MP's thumbs dir
            /// </summary>
            private void PerformRequest()
            {
                Stopwatch benchclock = new Stopwatch();

                benchclock.Start();
                string             path     = _filepath;
                List <GUIListItem> itemlist = null;

                vDir.SetExtensions(Util.Utils.PictureExtensions);

                if (!vDir.IsRemote(path))
                {
                    itemlist = vDir.GetDirectoryUnProtectedExt(path, true);

                    foreach (GUIListItem item in itemlist)
                    {
                        if (GUIGraphicsContext.CurrentState == GUIGraphicsContext.State.STOPPING)
                        {
                            return;
                        }
                        if (String.IsNullOrEmpty(item.Path))
                        {
                            continue;
                        }
                        if (path.Length >= item.Path.Length)
                        {
                            Log.Warn("GUIPictures: Omitting outside path {0} from check share {1}", item.Path, path);
                            continue;
                        }
                        if (!item.IsFolder)
                        {
                            int iRotate = PictureDatabase.GetRotation(item.Path);
                            if (iRotate == -1)
                            {
                                Log.Debug("GUIPictures Setting : Database is not available. File {0} has not been added", item.Path);
                            }

                            string thumbnailImage  = Util.Utils.GetPicturesThumbPathname(item.Path);
                            string thumbnailImageL = Util.Utils.GetPicturesLargeThumbPathname(item.Path);

                            if (!_noLargeThumbnails && !File.Exists(thumbnailImageL))
                            {
                                if (Util.Picture.CreateThumbnail(item.Path, thumbnailImageL, (int)Thumbs.ThumbLargeResolution,
                                                                 (int)Thumbs.ThumbLargeResolution, iRotate, Thumbs.SpeedThumbsLarge,
                                                                 true, false))
                                {
                                    Log.Debug("GUIPictures Setting : Creation of missing large thumb successful for {0}", item.Path);
                                    count++;
                                }
                            }
                            if (!File.Exists(thumbnailImage))
                            {
                                if (Util.Picture.CreateThumbnail(item.Path, thumbnailImage, (int)Thumbs.ThumbResolution,
                                                                 (int)Thumbs.ThumbResolution, iRotate, Thumbs.SpeedThumbsSmall,
                                                                 false, false))
                                {
                                    Log.Debug("GUIPictures Setting : Creation of missing thumb successful for {0}", item.Path);
                                    count++;
                                }
                            }
                        }
                    }
                    PictureDatabase.Optimize();
                }
            }