There's one big problem with this approach. You can't catch checked exception if the try-block does not throw it (according to compiler). That's compiler error.
So yes, you can throw IOException masking it to RuntimeException, however you can't catch it later without another gimmicks like catching Exception and checking if it's IOException (and even that check causes linter warnings in Idea, so now you need to suppress those warnings...).
Throwing and catching UncheckedIOException does not have this problem.
Ha, yeh. At first I had the command line examples first, but everyone was going on and on about maven and stuff, so I figured that's what the audience wants.
[EDIT] I moved the command line stuff back to the top of the README. XML makes my eyes bleed too...
The "what to do" and "tests" sections of this article is spot on! As for the sociopath/psychopath distinction, I think both terms refer to people with a Cluster B personality disorder. Since this is such a mouthful, I just call them predators, or if I don't want to scare people: vogons.
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2734449/