code: protected K standardFirstKey() {
      Entry<K, V> entry = firstEntry();
      if (entry == null) {
        throw new NoSuchElementException();
      } else {
        return entry.getKey();
      }
    }
docs: A sensible definition of {@link #firstKey} in terms of {@code firstEntry}. If you override
  {@code firstEntry}, you may wish to override {@code firstKey} to forward to this
  implementation.