Похоже, вы пытаетесь кэшировать значение базы данных и хотите защитить от доступа к значению, которое еще не было кэшировано.
Если это так, то переменная customerName_
не должна существовать в классе CustomerHelper
; кэшированное значение должно существовать ближе к базе данных.
Метод customerDatabase.readCustomerNameFromId(customerId)
должен сначала посмотреть на кеш, а если кеш пуст, вызвать базу данных и кешировать результат.
Фактически customerName_
становится значением в кеше: Map<Integer, String> cache
, где ключом является customerId
.