break;
case Node.COMPOSITE:
CompositeNode cn = (CompositeNode) n;
CompositeConverter compositeConverter = new CompositeConverter();
compositeConverter.setFormattingInfo(cn.getFormatInfo());
Converter childConverter = new Compiler(cn.getChildNode(), converterMap)
.compile();
compositeConverter.setChildConverter(childConverter);
addToList(compositeConverter);
break;
case Node.KEYWORD:
KeywordNode kn = (KeywordNode) n;
DynamicConverter dynaConverter = createConverter(kn);
if (dynaConverter != null) {
dynaConverter.setFormattingInfo(kn.getFormatInfo());
dynaConverter.setOptionList(kn.getOptions());
addToList(dynaConverter);
} else {
// if the appropriate dynaconverter cannot be found, then replace
// it with a dummy LiteralConverter indicating an error.
Converter errConveter = new LiteralConverter("%PARSER_ERROR_"
+ kn.getValue());
addStatus(new ErrorStatus("["+kn.getValue()+"] is not a valid conversion word", this));
addToList(errConveter);
}