/** * Filters stack frames from internal JUnit and Ant classes * @param stack the stack trace to filter. * @return the filtered stack. */ public static String filterStack(final String stack) { if (!filtertrace) { return stack; } final StringWriter sw = new StringWriter(); final BufferedWriter pw = new BufferedWriter(sw); final StringReader sr = new StringReader(stack); final BufferedReader br = new BufferedReader(sr); String line; try { boolean firstLine = true; while ((line = br.readLine()) != null) { if (firstLine || !filterLine(line)) { pw.write(line); pw.newLine(); } firstLine = false; } } catch (final Exception e) { return stack; // return the stack unfiltered } finally { FileUtils.close(pw); } return sw.toString(); }