protected override ICopyCallback GetCopyCallback(string destination)
        {
            var callback = base.GetCopyCallback(destination);
            var icons    = _icons;

            if (icons == null)
            {
                return(callback);
            }

            return(new CopyCallback(info => {
                var b = callback?.File(info);
                return b != null || !icons.Contains(info.Key) ? b :
                Path.Combine(AcPaths.GetGuiIconsFilename(AcRootDirectory.Instance.RequireValue),
                             Path.GetFileName(info.Key) ?? "icon.tmp");
            }, info => callback?.Directory(info)));
        }