code: public static <K, V> EntryWeigher<K, V> asEntryWeigher(
        final Weigher<? super V> weigher) {
      return (weigher == singleton())
          ? Weighers.<K, V>entrySingleton()
          : new EntryWeigherView<K, V>(weigher);
    }
docs: A entry weigher backed by the specified weigher. The weight of the value
  determines the weight of the entry.
  
  @param weigher the weigher to be "wrapped" in a entry weigher.
  @return A entry weigher view of the specified weigher.