I fucking hate java.

Combined with the previous discoveries that there's no earthly way to handle TTYs correctly *without* ProcessBuilder, we're solidly fucked either coming or going, and it's just a choice of which.

I'm going to have to push up the distinction between "stdin" and "no, REALLY stdin" to the user-facing API in order to deal with this problem.  And fucked if I ever, ever want to try to explain this clusterfuck to any other living soul.
attempt to implement enough drapery to pretend the filedescriptor-vs-jvm-system-fields problem is bearable