android/guava/src/com/google/common/collect/ImmutableSortedMap.java
@Override
  public ImmutableSortedMap<K, V> headMap(K toKey, boolean inclusive) {
    return getSubMap(0, keySet.headIndex(checkNotNull(toKey), inclusive));
  }
@Override
  public ImmutableSortedMap<K, V> headMap(K toKey, boolean inclusive) {
    return getSubMap(0, keySet.headIndex(checkNotNull(toKey), inclusive));
  }
This method returns a {@code ImmutableSortedMap}, consisting of the entries whose keys are less
than (or equal to, if {@code inclusive}) {@code toKey}.

<p>The {@link SortedMap#headMap} documentation states that a submap of a submap throws an
{@link IllegalArgumentException} if passed a {@code toKey} greater than an earlier {@code
toKey}. However, this method doesn't throw an exception in that situation, but instead keeps
the original {@code toKey}.

@since 12.0