private Texture2D CreatePreview(bool thumbnail = true)
            {
                Texture2D result = null;

                if (!string.IsNullOrEmpty(info.spritePackerTag))
                {
                    if (thumbnail)
                    {
                        if (asset != null)
                        {
                            result = AssetPreview.GetMiniThumbnail(asset);
                        }
                    }
                    if (!result)
                    {
                        result = AssetPreview.GetMiniTypeThumbnail(typeof(Texture2D));
                    }
                }
                else
                {
                    string extension = ReliablePath.GetExtension(info.path).ToLower();

                    switch (extension)
                    {
                    case ".ai":
                    case ".apng":
                    case ".png":
                    case ".bmp":
                    case ".cdr":
                    case ".dib":
                    case ".eps":
                    case ".exif":
                    case ".gif":
                    case ".ico":
                    case ".icon":
                    case ".j":
                    case ".j2c":
                    case ".j2k":
                    case ".jas":
                    case ".jiff":
                    case ".jng":
                    case ".jp2":
                    case ".jpc":
                    case ".jpe":
                    case ".jpeg":
                    case ".jpf":
                    case ".jpg":
                    case ".jpw":
                    case ".jpx":
                    case ".jtf":
                    case ".mac":
                    case ".omf":
                    case ".qif":
                    case ".qti":
                    case ".qtif":
                    case ".tex":
                    case ".tfw":
                    case ".tga":
                    case ".tif":
                    case ".tiff":
                    case ".wmf":
                    case ".psd":
                    case ".exr":
                    case ".shadervariants":
                    case ".asset":
                        if (thumbnail)
                        {
                            if (asset != null)
                            {
                                result = AssetPreview.GetMiniThumbnail(asset);
                            }
                        }
                        break;

                    case ".cubemap":
                        result = AssetPreview.GetMiniTypeThumbnail(typeof(Cubemap));
                        break;

                    case ".xml":
                    case ".txt":
                    case ".bytes":
                        result = AssetPreview.GetMiniTypeThumbnail(typeof(TextAsset));
                        break;
                    }


                    if (result == null)
                    {
                        result = UnityEditorInternal.InternalEditorUtility.GetIconForFile(extension);
                    }
                }

                return(result);
            }