Java desktop flow example