code: static <K, V> WellBehavedMap<K, V> wrap(Map<K, V> delegate) {
      return new WellBehavedMap<K, V>(delegate);
    }
docs: Wraps the given map into a {@code WellBehavedEntriesMap}, which
  intercepts its {@code entrySet()} method by taking the
  {@code Set<K> keySet()} and transforming it to
  {@code Set<Entry<K, V>>}. All other invocations are delegated as-is.