@Override
	public String toNormalizedString() {
		String result;
		if(hasNoStringCache() || (result = stringCache.normalizedString) == null) {
			if(hasZone()) {
				stringCache.normalizedString = result = toNormalizedString(IPv6StringCache.normalizedParams);
			} else {
				result = getSection().toNormalizedString();//the cache is shared so no need to update it here
			}
		}
		return result;
	}
@ Override public String toNormalizedString ( ) { String result ; if ( hasNoStringCache ( ) || ( result = stringCache . normalizedString ) == null ) { if ( hasZone ( ) ) { stringCache . normalizedString = result = toNormalizedString ( IPv6StringCache . normalizedParams ) ; } else { result = getSection ( ) . toNormalizedString ( ) ; } } return result ; }
The normalized string returned by this method is consistent with java.net.Inet6address.

IPs are not compressed nor mixed in this representation.  If this has a prefix length, that will be included in the string.