docs: private void init() throws IOException {
      // move to begin
      IndexInput inField = indexInputList.get("field");
      inField.seek(indexInputOffsetList.get("field"));
      // store field references in memory
      fieldReferences = new HashMap<String, FieldReferences>();
      boolean doInit = true;
      while (doInit) {
        try {
          String field = inField.readString();
          long refIndexDoc = inField.readVLong();
          long refIndexDocId = inField.readVLong();
          int numberOfDocs = inField.readVInt();
          inField.readVLong(); // refTerm
          inField.readVInt(); // numberOfTerms
          long refPrefix = inField.readVLong();
          int numberOfPrefixes = inField.readVInt();
          fieldReferences.put(field, new FieldReferences(refIndexDoc,
              refIndexDocId, numberOfDocs, refPrefix, numberOfPrefixes));
        } catch (IOException e) {
          log.debug(e);
          doInit = false;
        }
      }
      // prefixReferences
      prefixReferences = new HashMap<String, LinkedHashMap<String, Long>>();
    }