Create a Builder for FailOnTimeout.

Create a Builder for FailOnTimeout.
Delete all constructors created since 4.11 was released.

NPE is actually the right exception to throw. It's what Guava and most of java.util throws if you pass null.

It also often the easiest convention to enforce. If a method specifies a non-null input parameter, and it dereferences the parameter without a check, you get a NPE.