private void loadFrequentCfMap(int n) {
   if (frequentTermsCfs != null) return;
   frequentTermsCfs = new HMapKL<String>();
   if (cfs.length < n) n = cfs.length;
   for (int id = 1; id <= n; id++) {
     frequentTermsCfs.put(prefixSet.getTerm(idToTerm[id - 1]), cfs[idToTerm[id - 1]]);
   }
 }
 private void loadFrequentDfMap(int n) {
   if (frequentTermsDfs != null) return;
   frequentTermsDfs = new HMapKI<String>();
   if (dfs.length < n) n = dfs.length;
   for (int id = 1; id <= n; id++) {
     frequentTermsDfs.put(prefixSet.getTerm(idToTerm[id - 1]), dfs[idToTerm[id - 1]]);
   }
   // return frequentTermsMap;
 }
 public void printKeys() {
   System.out.println("Window: " + this.prefixSet.getWindowSize());
   System.out.println("Length: " + this.length());
   // int window = prefixSet.getWindow();
   for (int i = 0; i < length() && i < 100; i++) {
     System.out.print(i + "\t" + prefixSet.getTerm(i));
     if (dfs != null) System.out.print("\t" + dfs[i]);
     if (cfs != null) System.out.print("\t" + cfs[i]);
     System.out.println();
   }
 }