# File lib/ferret/index.rb, line 642
642:     def persist(directory, create = true)
643:       synchronize do
644:         close_all()
645:         old_dir = @dir
646:         if directory.is_a?(String)
647:           @dir = FSDirectory.new(directory, create)
648:         elsif directory.is_a?(Ferret::Store::Directory)
649:           @dir = directory
650:         end
651:         @dir.extend(MonitorMixin).extend(SynchroLockMixin)
652:         @options[:dir] = @dir
653:         @options[:create_if_missing] = true
654:         add_indexes([old_dir])
655:       end
656:     end