/// <summary> 
        /// This will load a file based index into RAM
        /// </summary>
        protected virtual RAMDirectory CreateDirectory(string folder)
        {
            FileUtil.EnsureFolder(folder);
            Lucene.Net.Store.FSDirectory tempDirectory = Lucene.Net.Store.FSDirectory.GetDirectory(folder, false);
            var directory = new RAMDirectory(tempDirectory);
            using (new IndexLocker(directory.MakeLock("write.lock")))
            {
                if (!IndexReader.IndexExists(directory))
                {
                    new IndexWriter(directory, this._analyzer, true).Close();
                }
            }

            return directory;
        }
 protected virtual RAMDirectory CreateDirectory(string folder)
 {
     FileUtil.EnsureFolder(folder);
     RAMDirectory directory = new RAMDirectory(folder);
     using (new IndexLocker(directory.MakeLock("write.lock")))
     {
         if (!IndexReader.IndexExists(directory))
         {
             new IndexWriter(directory, this._analyzer, true).Close();
         }
     }
     return directory;
 }