String computeSubject(LoggingEvent triggeringEvent) {
PatternConverter c = this.subjectConverterHead;
StringWriter sw = new StringWriter();
try {
while (c != null) {
c.format(sw, triggeringEvent);
c = c.next;
}
} catch(java.io.IOException ie) {
// this should not happen
}