Why does this Java program terminate despite appearing that it shouldn't? | Hacker News Reader