private static void Init()
        {
            RuntimeLogInitializer.Init();

            var configurators = new PathConfigurator[]
            {
                AppDataPathConfigurator.Instance,
                AppPersistentDataPathConfigurator.Instance
            };

            _holders = new List <Holder>();

            for (var i = 0; i <= configurators.Length - 1; i++)
            {
                var configurator = configurators[i];
                var paths        = configurator.FilePaths;
                for (var j = 0; j <= paths.Length - 1; j++)
                {
                    var path = paths[j];
                    _holders.Add(new Holder(configurator, path));
                }
            }

            EditorApplication.update += Update;
        }
 public Holder(PathConfigurator configurator, string path)
 {
     if (string.IsNullOrEmpty(path))
     {
         return;
     }
     path              = Path.GetFullPath(path);
     fileInfo          = new FileInfo(path);
     lastExist         = fileInfo.Exists;
     lastEdit          = fileInfo.LastWriteTime;
     this.configurator = configurator;
 }