public void print(PrintLN out, Throwable trigger) {
public void print(PrintLN out, Throwable trigger, Throwable effect) {
  public void print(PrintLN out, Throwable trigger) {    boolean printed = false;    try {      VM.sysWriteln("VM_StackTrace.print(): Printing Stack Trace # ", traceIndex);      print4Real(out, trigger);      printed = true;    } catch (OutOfMemoryError e) {      trigger.tallyOutOfMemoryError();      VM.sysWriteln("VM_StackTrace.print(): OutOfMemoryError while printing stack trace # ", traceIndex);    } catch (Throwable e) {      trigger.tallyWeirdError();      VM.sysWriteln("VM_StackTrace.print(): *UNEXPECTED* Throwable while displaying stack trace # ", traceIndex);      VM.sysWrite("    The Throwable was: ");      e.sysWrite();      VM.sysWriteln("VM_StackTrace.print(): And its stack trace was:");      e.sysWriteStackTrace();    } finally {      if (printed)	return;			// all is well      if (out.isSysWrite()) {	VM.sysWriteln("[ Aborting stack trace # ",  traceIndex, " ; already was printing with sysWrite()]");	return;      }      VM.sysWriteln("[ Back to printing stack trace # ", traceIndex,		    "; using sysWrite(), this time ]");      print4Real(PrintContainer.readyPrinter, trigger);    }  }