class CachedIndex implements LookupIndexIF<K, E> {

  protected void prune() {
    prunings++;
//      System.out.println("PRUNING! Keys now: " + entries);
    for (int ix = 0; ix < data.length; ix++) {
      Entry current = data[ix];
      Entry previous = null;

      while (current != null) {
        if (current.hits < decay) {
          if (previous == null)
            data[ix] = current.next;
          else
            previous.next = current.next;
          entries--;
        } else
          current.hits -= decay;
        
        current = current.next;
      }
    }
//      System.out.println("Done. Keys now: " + entries);
  }

  public  CachedIndex(LookupIndexIF<K, E> fallback);
  public  CachedIndex(LookupIndexIF<K, E> fallback, boolean nulls);
  public  CachedIndex(LookupIndexIF<K, E> fallback, int max, int size, boolean nulls);

}