System.err.println("Bad task.setSource("+asource+") was "+old+":"); Thread.dumpStack();
logger.error("Bad task.setSource("+asource+") was "+old, new Throwable());
  public void setSource(MessageAddress asource) {    MessageAddress old = getSource();    if (old != null) {      if (! asource.equals(old)) {        System.err.println("Bad task.setSource("+asource+") was "+old+":");        Thread.dumpStack();      }    } else {      super.setSource(asource);    }  }