how about final string spn iccutils adnstringfieldtostring if  spn null spn length mspnstate read spn cphs else setserviceprovidername spn it seems silly to evaluate the string one  call the setter and then call a getter to fetch something we already had in scope also do not need to call the setter if we know it is empty 