Spec of j.l.Process.waitFor(timeout, unit) says:
"Throws: NullPointerException - if unit is null".
However, j.l.Process.waitFor(timeout, unit) doesn't throw NPE if timeout is less than, or equal to zero. Instead of this it returns false.
Minimized test:
---------------------------------------------------------------
public static void main(String[] args) throws IOException, InterruptedException {
    System.out.println(Runtime.getRuntime().exec("java").waitFor(0, null));
    System.out.println(Runtime.getRuntime().exec("java").waitFor(-50, null));
}
---------------------------------------------------------------
Output:
---------------------------------------------------------------
false
false
---------------------------------------------------------------
Tested with JDK9 b23.
Failed JCK test is under development.