code: public static <K, V> Map<K, V> cast(Map<?, ?> map) {
      return map == null ? null : new CastingMap<K, V>(map);
    }
docs: <p>Casts a map in a lazy fashion. Changes to the returned map are reflected in the
  the given map.</p>
  
  @param <K> the type parameter
  @param <V> the type parameter
  @param map the map to cast
  @return the casted map or null if the map is null