src/main/java/js/http/form/FormObject.java
private void setValue(String propertyPath, Object value) throws ConverterException, IllegalAccessException {
		List<String> nodeIDs = Strings.split(propertyPath, '.');
		int lastNodeIndex = nodeIDs.size() - 1;
		Node node = new ObjectNode(object);
		for (int index = 0; index < lastNodeIndex; index++) {
			node = node.getChild(nodeIDs.get(index));
			if (node == null) {
				return;
			}
		}
		node.setValue(nodeIDs.get(lastNodeIndex), value);
	}
private void setValue(String propertyPath, Object value) throws ConverterException, IllegalAccessException {
		List<String> nodeIDs = Strings.split(propertyPath, '.');
		int lastNodeIndex = nodeIDs.size() - 1;
		Node node = new ObjectNode(object);
		for (int index = 0; index < lastNodeIndex; index++) {
			node = node.getChild(nodeIDs.get(index));
			if (node == null) {
				return;
			}
		}
		node.setValue(nodeIDs.get(lastNodeIndex), value);
	}
Set value to object field identified by object property path. Form this class perspective an object is a graph of value
types. A value type is a primitive value or a related boxing class. Also any class that can be converted to a primitive
are included; for example {@link File} or {@link URL} are value types since can be converted to/from strings. Opposite to
value types are compound entities, that is, objects, arrays and collections that aggregates value types or other compound
entities.
<p>
To sum up, an object is a graph with compound entities and value types as nodes where value types are leafs. The
<code>propertyPath</code> is the path through graph nodes till reach the value type and basically is a dot separated
field names list.

@param propertyPath object property path,
@param value value to set.
@throws ConverterException if value is primitive and fail to convert to field type.
@throws IllegalAccessException this exception is required by reflective field signature but never thrown.