Try-with-resources: what does it require and why is it useful? | LetsGit.IT