//-- instantiate char stream for initial parser from the input reader
charStream = new InputCharStream(reader);
//-- instantiate initial parser
DTDInitialParser initialParser = new DTDInitialParser(charStream);
//-- get result of initial parsing - DTD document with parameter
//-- entity references expanded
String intermedResult = initialParser.Input();
//-- construct StringReader from the intermediate result of parsing
StringReader strReader= new StringReader(intermedResult);
//-- instantiate char stream for main parser