AppLocale::getTimeZone() should always return a time zone right? So I am not sure this check is needed, unless you want to capture some error (someone changed the getTimeZone() method, for example, and now it can return null), but then you have to assert(false) if the condition you are testing here is false so developers will know the error and where it is. Makes sense?