code: Map<String,Long> getContext(String... tokens) throws IOException {
      Objects.requireNonNull(tokens);
      TermsEnum iterator = getIterator();
      Map<String,Long> result = new HashMap<>();
      BytesRef byteRef;
      int i = 0;
      while ((byteRef = iterator.next()) != null) {
        String term = new String(byteRef.bytes, byteRef.offset, byteRef.length);
        for (String token : tokens) {
          if (term.contains(" " + token + " ")) {
            String[] split = term.split(" ");
            if (split.length == 3) {
              long count = getCount(Arrays.asList(split[0], split[1], split[2]));
              result.put(term, count);
            }
          }
        }
        /*if (i++ > 1_000_000) { // comment in for faster testing with subsets of the data
          break;
        }*/
      }
      return result;
    }
docs: Get the context (left and right words) for the given word(s). This is slow,
  as it needs to scan the whole index.