public <K, V> void putMapEntry(PropertyMapKey<K, V> property, K key, V value) {
    Map<K, V> map = get(property);

    if (!property.allowsOverwrite() && map.containsKey(key)) {
      throw new ProcessEngineException("Cannot overwrite property key " + key + ". Key already exists");
    }

    map.put(key, value);

    if (!contains(property)) {
      set(property, map);
    }
  }
public < K , V > void putMapEntry ( PropertyMapKey < K , V > property , K key , V value ) { Map < K , V > map = get ( property ) ; if ( ! property . allowsOverwrite ( ) && map . containsKey ( key ) ) { throw new ProcessEngineException ( "Cannot overwrite property key " + key + ". Key already exists" ) ; } map . put ( key , value ) ; if ( ! contains ( property ) ) { set ( property , map ) ; } }
Insert the value to the map to which the specified property key is mapped. If
this properties contains no mapping for the property key, the value insert to
a new map witch is associate the the specified property key.

@param <K>
the type of keys maintained by the map
@param <V>
the type of mapped values
@param property
the property key whose associated list is to be added
@param value
the value to be appended to list