code: private void extractNestedValuesPrivate(XAttribute element,
  			Map<List<String>, Type> nestedValues, List<String> keys) {
  		Type value = extractValue(element);
  		if (value != null) {
  			nestedValues.put(keys, value);
  		}
  		for (XAttribute attr : element.getAttributes().values()) {
  			List<String> newKeys = new ArrayList<String>(keys);
  			newKeys.add(element.getKey());
  			extractNestedValuesPrivate(attr, nestedValues, newKeys);
  		}
  	}
docs: /*
  Retrieves a map containing all values for all descending attributes of an
  element.
  
  @param element Element to retrieve all values for.
  
  @return Map from all descending keys to values.