code: public void assignNestedAmounts(XTrace trace,
  			Map<List<String>, Double> amounts) {
  		XCostAmount.instance().assignNestedValues(trace, amounts);
  	}
docs: Assigns (to the given trace) multiple amounts 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>
  assignAmounts(trace, [[[a] 10.00] [[a b] 20.00] [[a c] 30.00] [[b] 15.00] [[c] 25.00]])
  </pre>
  
  should result into the following XES fragment:
  
  <pre>
  {@code
  <trace>
  <string key="a" value="">
  <float key="cost:amount" value="10.00"/>
  <string key="b" value="">
  <float key="cost:amount" value="20.00"/>
  </string>
  <string key="c" value="">
  <float key="cost:amount" value="30.00"/>
  </string>
  </string>
  <string key="b" value="">
  <float key="cost:amount" value="15.00"/>
  </string>
  <string key="c" value="">
  <float key="cost:amount" value="25.00"/>
  </string>
  </trace>
  }
  </pre>
  
  @param trace
  Trace to assign the amounts to.
  @param amounts
  Mapping from key lists to amounts which are to be assigned.