text: public void build(InputIterator iterator) throws IOException {if (iterator.hasPayloads()) {throw new IllegalArgumentException("this suggester doesn't support payloads");}if (iterator.hasContexts()) {throw new IllegalArgumentException("this suggester doesn't support contexts");}count = 0;BytesRef scratch = new BytesRef();InputIterator iter = new WFSTInputIterator(tempDir, tempFileNamePrefix, iterator);IntsRefBuilder scratchInts = new IntsRefBuilder();BytesRefBuilder previous = null;PositiveIntOutputs outputs = PositiveIntOutputs.getSingleton();FSTCompiler<Long> fstCompiler = new FSTCompiler<>(FST.INPUT_TYPE.BYTE1, outputs);while ((scratch = iter.next()) != null) {long cost = iter.weight();if (previous == null) {previous = new BytesRefBuilder();} else if (scratch.equals(previous.get())) {continue; }Util.toIntsRef(scratch, scratchInts);fstCompiler.add(scratchInts.get(), cost);previous.copyBytes(scratch);count++;}fst = fstCompiler.compile();}