/**
   * Increments a frequency counter for a digram.
   *
   * @param entry the entry.
   * @param increment the increment value.
   */
  public void incrementFrequency(DigramFrequencyEntry entry, int increment) {

    // findout the old bucket and remove this entry
    ArrayList<DigramFrequencyEntry> oldBucket = this.bucketsToEntries.get(entry.getFrequency());
    oldBucket.remove(entry);
    if (oldBucket.isEmpty()) {
      this.bucketsToEntries.remove(entry.getFrequency());
    }

    // get the increment added
    int newFreq = entry.getFrequency() + increment;
    entry.setFrequency(newFreq);

    // put into the new bucket
    ArrayList<DigramFrequencyEntry> bucket = this.bucketsToEntries.get(newFreq);
    if (null == bucket) {
      bucket = new ArrayList<DigramFrequencyEntry>();
      this.bucketsToEntries.put(newFreq, bucket);
    }
    bucket.add(entry);
  }