Because the stack gets populated at runtime. If you checked the stack trace in
main how would the runtime know what will happen in the method chain? How would it know, for example, that method1 will absolutely for sure call method2 and the JVM will not crash before it gets called?