@Override
  public @NotNull Collection<V> values() {
    if (isEmpty()) return Collections.emptyList();

    ArrayList<V> result = new ArrayList<>();
    for (Entry<K, V> entry : entrySet()) {
      result.add(entry.getValue());
    }
    return Collections.unmodifiableCollection(result);
  }
@Override
  public @NotNull Collection<V> values()