public final String getOriginalText(TemplateData template_data) {
throwAXIfNull(template_data, "template_data", "getOriginalText");
StringBuffer sb = new StringBuffer(sES);
try {
EscapeString es = new EscapeString(new ESConfig(new char[] {template_data.getTagStart().charAt(0)}));
for(int i = 0; i < template_data.getAPSSurrText().getLength(); i++) {
sb.append(es.get(template_data.getAPSSurrText().getString(i)));
//There are always exactly 1 less items in the gap int
//array than in the surrounding text array.