protected void overrideChildren(JsfTemplate targetTemplate, VariablesMap parentVariables) {
overrideVariables(targetTemplate.getVariables());
VariablesMap compositeVariables = makeCompositeVariablesMap(targetTemplate, parentVariables);
TemplateList<JsfTemplate> targetChildren = targetTemplate.getChildren();
for (TemplateComponent child : children) {
JsfTemplate childTemplate = child.makeTemplate(compositeVariables);
TemplateList<JsfTemplate> targetSubList = targetChildren.subListByName(childTemplate.getName());
if (targetSubList.size() == 0) {
targetChildren.addToEnd(childTemplate);
} else for (ListIterator<JsfTemplate> iter = targetSubList.listIterator(); iter.hasNext();) {
iter.next();
iter.set(childTemplate);