Creates a definition parser that will construct a single child element and inject it into
the parent object (the enclosing XML element).
The parser will set all attributes defined in the Xml as bean properties and will
process any nested elements as bean properties too, except the correct Definition parser
for the element will be looked up automatically.

ChildDefinitionParser(String setterMethod,
Class<?> clazz,
Class<?> constraint)
The class (which is inferred from the class attribute if null here) is checked to be
a subclass of the constraint

ChildDefinitionParser(String setterMethod,
Class<?> clazz,
Class<?> constraint,
boolean allowClassAttribute)
The class (which is inferred from the class attribute if null here) is checked to be
a subclass of the constraint.

preProcess

Hook method that derived classes can implement to modify internal state before processing.
Here we make sure that the internal property configuration state is reset to the
initial configuration for each element (it may be modified by the BeanAssembler)
and that other mutable instance variables are cleared.