ready = true;
  public SpellDictionaryDisk(File base, File phonetic, boolean block) throws FileNotFoundException, IOException {    super(phonetic);    this.ready = false;    this.base = base;    this.words = new File(base, DIRECTORY_WORDS);    this.db = new File(base, DIRECTORY_DB);    if (!this.base.exists()) throw new FileNotFoundException("Couldn't find required path '" + this.base + "'");    if (!this.words.exists()) throw new FileNotFoundException("Couldn't find required path '" + this.words + "'");    if (!this.db.exists()) db.mkdirs();    if (newDictionaryFiles()) {      if (block) {        buildNewDictionaryDatabase();        loadIndex();        ready = true;      } else {        Thread t = new Thread() {          public void run() {            try {              buildNewDictionaryDatabase();              loadIndex();              ready = true;            } catch (Exception e) {              e.printStackTrace();            }          }        };        t.start();      }    } else {      loadIndex();    }  }