orjando um rastreamento de pilha em Ja

Quando você usa o RMI em Java, o rastreamento de pilha remota de uma exceção é anexado quando você o recebe, mais ou menos assim:

ERROR Client received error when doing stuff:
myapp.FooBarException: bla
 at server.myMethod()
 at rmi.callHandler() // and now, on the next line comes the client
 at rmi.sendCall();
 at client.doServerMethod()
 at Thread.run()

Como é feito esse tipo de "falsificação" de stacktrace?

O que eu quero (além de apenas ser testado)? Bem, me ajudaria se eu pudesse fazer isso:

outer() {

  thread = new Thread(...
      inner();
      // inner() throws
      // RuntimeException
      //  at inner();
      //  at Runnable.run();
      //  at Thread.run();
      //  at outer();
      //  at lalalala();
      //  ...

  ).start();

  thread.join();

}

E faça com que uma exceção lançada eminner() teriaouter() (e métodos mais abaixo na cadeia) no rastreamento de pilha, para fins de registr

questionAnswers(3)

yourAnswerToTheQuestion