NPE check in getTimeInMillis()

added a null check to getTimeInMillis()
and remove the null passed parameters
The null check isn't really needed because you will get a NPE anway because of the timeunit.toMillis. For non public methods I don't see that much add value for argument checking because it adds a lot of noise and for consistency sake it should be done everywhere. 

And why are you using ExecuptionUtil.rethrow to throw an exception?