code: public void addChild(HierarchicalFormModel child) {
  		Assert.notNull(child, "child");
  		if (child.getParent() == this)
  			return;
  		Assert.isTrue(child.getParent() == null, "Child form model '" + child + "' already has a parent");
  		child.setParent(this);
  		children.add(child);
  		child.addPropertyChangeListener(DIRTY_PROPERTY, childStateChangeHandler);
  		child.addPropertyChangeListener(COMMITTABLE_PROPERTY, childStateChangeHandler);
  		if (child.isDirty())
  		{
  			dirtyValueAndFormModels.add(child);
  			dirtyUpdated();
  		}
  	}
docs: Add child to this FormModel. Dirty and committable changes are forwarded
  to parent model.
  @param child FormModel to add as child.