code: @SuppressWarnings({"cast", "unchecked"})
      public static <A, B> Weigher<? super Map<A, B>> map() {
          return MapWeigher.INSTANCE;
      }
docs: A weigher where the value is a {@link Map} and its weight is the number of
  entries. A map bounded with this weigher will evict when the total number of
  entries across all values exceeds the capacity rather than the number of
  key-value pairs in the map.
  <p>
  A value with a weight of <tt>0</tt> will be rejected by the map. If a value
  with this weight can occur then the caller should eagerly evaluate the
  value and treat it as a removal operation. Alternatively, a custom weigher
  may be specified on the map to assign an empty value a positive weight.
  
  @param <A> The key type
  @param <B> The value type
  
  @return A weigher where each entry takes one unit of capacity.