It should have been traverse() instead of accept(). I expected that this would change visiting order only and cannot explain why it did not work with accept(). ralf