Я считаю, что предварительные условия для гуавы очень полезны в этом случае. Мне не нравится оставлять нулевые значения исключением нулевого указателя, поскольку единственный способ понять NPE - найти номер строки. Номера строк в рабочей версии и в разрабатываемой версии могут быть разными.
Используя предварительные условия для Guava, я могу проверить нулевые параметры и определить значимое сообщение об исключении в одной строке.
Например,
Preconditions.checkNotNull(paramVal, "Method foo received null paramVal");