// Pop the 4 entries off the stack in the correct order
Map m = (Map)fieldStack.pop();
ISOBasePackager msgPackager = (ISOBasePackager) fieldStack.pop();
msgPackager.setFieldPackager (makeFieldArray(m));
msgPackager.setLogger (getLogger(), "Generic Packager");
ISOFieldPackager fieldPackager = (ISOFieldPackager) fieldStack.pop();
Integer fno = (Integer) fieldStack.pop();
// Create the ISOMsgField packager with the retrieved msg and field Packagers
ISOMsgFieldPackager mfp =
new ISOMsgFieldPackager(fieldPackager, msgPackager);
// Add the newly created ISOMsgField packager to the
// lower level field stack
m=(Map)fieldStack.peek();
m.put(fno, mfp);
Map val = (Map)validatorStack.pop();
ISOBaseValidatingPackager v = (ISOBaseValidatingPackager) validatorStack.pop();
v.setFieldValidator( makeFieldValidatorArray ( val ) );
v.setMsgValidator( makeMsgValidatorArray ( val ) );
ISOMsgFieldValidator mfv = new ISOMsgFieldValidator ( fieldPackager.getDescription(), v );
mfv.setFieldId(fno);
v.setLogger (getLogger(), "Generic validating Packager");
m=(Map)validatorStack.peek();
m.put(fno, mfv);
}