code: public void assignNestedValues(XAttributable element,
  			Map<List<String>, Type> amounts) {
  		/*
  		 * Add the proper value for every key list.
  		 */
  		for (List<String> keys : amounts.keySet()) {
  			assignNestedValuesPrivate(element, keys, amounts.get(keys));
  		}
  	}
docs: Assigns (to the given event) multiple values given their key lists. The
  i-th element in the key list should correspond to an i-level attribute
  with the prescribed key. Note that as a side effect this method creates
  attributes when it does not find an attribute with the proper key.
  
  For example, the call:
  
  <pre>
  assignNestedValues(event, [[[key.1] val.1] [[key.1 key.1.1] val.1.1] [[key.1 key.1.2] val.1.2] [[key.2] val.2] [[key.3] val.3]])
  </pre>
  
  should result into the following XES fragment:
  
  <pre>
  {@code
  <event>
  <string key="key.1" value="">
  <float key="ext:attr" value="val.1"/>
  <string key="key.1.1" value="">
  <float key="ext:attr" value="val.1.1"/>
  </string>
  <string key="key.1.2" value="">
  <float key="ext:attr" value="val.1.2"/>
  </string>
  </string>
  <string key="key.2" value="">
  <float key="ext:attr" value="val.2"/>
  </string>
  <string key="key.3" value="">
  <float key="ext:attr" value="val.3"/>
  </string>
  </event>
  }
  </pre>
  
  @param element
  Element to assign the values to.
  @param amounts
  Mapping from key lists to values which are to be assigned.