text: public void build(InputIterator iter) throws IOException {synchronized (searcherMgrLock) {if (searcherMgr != null) {searcherMgr.close();searcherMgr = null;}if (writer != null) {writer.close();writer = null;}boolean success = false;try {writer = new IndexWriter(dir,getIndexWriterConfig(getGramAnalyzer(), IndexWriterConfig.OpenMode.CREATE));BytesRef text;while ((text = iter.next()) != null) {BytesRef payload;if (iter.hasPayloads()) {payload = iter.payload();} else {payload = null;}add(text, iter.contexts(), iter.weight(), payload);}if (commitOnBuild || closeIndexWriterOnBuild) {commit();}searcherMgr = new SearcherManager(writer, null);success = true;} finally {if (success) {if (closeIndexWriterOnBuild) {writer.close();writer = null;}} else {  if (writer != null) {writer.rollback();writer = null;}}}}}