Class keyType = types[0];
Class valueType = types[1];
// loop through children
// adding updaters for key and value
MapEntryAdder adder = new MapEntryAdder(twinParameterAdderMethod);
for (
int n=0,
noOfGrandChildren = children.length;
n < noOfGrandChildren;
n++ ) {
if ( "key".equals( children[n].getLocalName() ) ) {
children[n].setUpdater( adder.getKeyUpdater() );
children[n].setSingularPropertyType( keyType );
if (children[n].getPropertyType() == null) {
children[n].setPropertyType( valueType );
}
if ( isPrimitiveType(keyType) ) {
children[n].setHollow(false);
}
if ( getLog().isTraceEnabled() ) {
getLog().trace( "Key descriptor: " + children[n]);
}
} else if ( "value".equals( children[n].getLocalName() ) ) {
children[n].setUpdater( adder.getValueUpdater() );
children[n].setSingularPropertyType( valueType );
if (children[n].getPropertyType() == null) {
children[n].setPropertyType( valueType );
}
if ( isPrimitiveType( valueType) ) {