private void moveToTop(Entry<K, V> e) {
    Entry<K, V> top = this.top;
    if (top == e) {
      return;
    }

    Entry<K, V> prev = e.previous;
    Entry<K, V> next = e.next;
    prev.next = next;
    if (next != null) {
      next.previous = prev;
    }
    else {
      back = prev;
    }
    top.previous = e;
    e.next = top;
    e.previous = null;
    this.top = e;
  }
private void moveToTop(Entry<K, V> e)