code: @Override
  	public String toCanonicalString() {
  		String result;
  		if(hasNoStringCache() || (result = stringCache.canonicalString) == null) {
  			stringCache.canonicalString = result = toNormalizedString(IPv6StringCache.canonicalParams);
  		}
  		return result;
  	}
docs: This produces a canonical string.
  
  RFC 5952 describes canonical representations.
  http://en.wikipedia.org/wiki/IPv6_address#Recommended_representation_as_text
  http://tools.ietf.org/html/rfc5952