// Suppress the ConcreteTemplate frame (if any)
if (!trace[i].getClassName().equals(AWConcreteTemplate.class.getName()))
{
printWriter.println("\tat " + trace[i]);
}
AWBaseElement cref = _componentStack.get(pos++);
StackTraceElement compElement = trace[i + 1];
String tName = cref.templateName();
tName = (tName == null) ? "null" :
tName.substring(tName.lastIndexOf('/') + 1);
printWriter.print("\tat " + compElement.getClassName());
if (compElement.getClassName().equals(AWComponent.class.getName())
&& (cref instanceof AWBindableElement))
{
printWriter.print("(" + ((AWBindableElement)cref).tagName() + ")");
}
printWriter.println("." + compElement.getMethodName() + "("
+ compElement.getFileName() + ":" + compElement.getLineNumber()
+ ")<" + tName + ":" + cref.lineNumber() + ">");
i += 2;
}
else if (pos < _componentStack.size()
&& trace[i].getClassName().equals(AWIncludeContent.class.getName()))
{
AWBaseElement cref = _componentStack.get(pos++);
String tName = cref.templateName();
tName = (tName == null) ? "null"
: tName.substring(tName.lastIndexOf('/') + 1);
printWriter.println("\tat " + trace[i] + "<" + tName + ":"
+ cref.lineNumber() + ">");
}
else if (!_FilterClasses.contains(trace[i].getClassName())) {
printWriter.println("\tat " + trace[i]);
}
}