docs: private static <K, V> Entry<K, Collection<V>> constrainedAsMapEntry(
        final Entry<K, Collection<V>> entry, final MapConstraint<? super K, ? super V> constraint) {
      checkNotNull(entry);
      checkNotNull(constraint);
      return new ForwardingMapEntry<K, Collection<V>>() {
        @Override
        protected Entry<K, Collection<V>> delegate() {
          return entry;
        }
  
        @Override
        public Collection<V> getValue() {
          return Constraints.constrainedTypePreservingCollection(
              entry.getValue(),
              new Constraint<V>() {
                @Override
                public V checkElement(V value) {
                  constraint.checkKeyValue(getKey(), value);
                  return value;
                }
              });
        }
      };
    }