docs: @Override
  	public int getStandardString(int segmentIndex, AddressSegmentParams params, StringBuilder appendable) {
  		if(!isMultiple()) {
  			boolean splitDigits = params.isSplitDigits();
  			if(splitDigits) {
  				int radix = params.getRadix();
  				int leadingZeroCount = params.getLeadingZeros(segmentIndex);
  				leadingZeroCount = adjustLowerLeadingZeroCount(leadingZeroCount, radix);
  				String stringPrefix = params.getSegmentStrPrefix();
  				int prefLen = stringPrefix.length();
  				if(appendable == null) {
  					int len;
  					if(leadingZeroCount != 0) {
  						if(leadingZeroCount < 0) {
  							len = getMaxDigitCount(radix);
  						} else {
  							len = getLowerStringLength(radix) + leadingZeroCount;
  						}
  					} else {
  						len = getLowerStringLength(radix);
  					}
  					int count = (len << 1) - 1;
  					if(prefLen > 0) {
  						count += len * prefLen;
  					}
  					return count;
  				} else {
  					char splitDigitSeparator = params.getSplitDigitSeparator() == null ? 0 : params.getSplitDigitSeparator();
  					boolean reverseSplitDigits = params.isReverseSplitDigits();
  					boolean uppercase = params.isUppercase();
  					if(reverseSplitDigits) {
  						getSplitLowerString(radix, 0, uppercase, splitDigitSeparator, reverseSplitDigits, stringPrefix, appendable);
  						if(leadingZeroCount != 0) {
  							appendable.append(splitDigitSeparator);
  							getSplitLeadingZeros(leadingZeroCount, splitDigitSeparator, stringPrefix, appendable);
  						}
  					} else {
  						if(leadingZeroCount != 0) {
  							getSplitLeadingZeros(leadingZeroCount, splitDigitSeparator, stringPrefix, appendable);
  							appendable.append(splitDigitSeparator);
  						}
  						getSplitLowerString(radix, 0, uppercase, splitDigitSeparator, reverseSplitDigits, stringPrefix, appendable);
  					}
  					return 0;
  				}
  			}
  			return getLowerStandardString(segmentIndex, params, appendable);
  		}
  		if(isFullRange()) {
  			String wildcard = params.getWildcards().wildcard;
  			if(wildcard != null) {
  				if(wildcard.equals(getDefaultSegmentWildcardString())) {
  					setDefaultAsFullRangeWildcardString();//cache
  				}
  				boolean splitDigits = params.isSplitDigits();
  				if(splitDigits) {
  					int radix = params.getRadix();
  					if(appendable == null) {
  						int len = getMaxDigitCount(radix);
  						int count = len * (wildcard.length() + 1) - 1;
  						return count;
  					}
  					char splitDigitSeparator = params.getSplitDigitSeparator() == null ? 0 : params.getSplitDigitSeparator();
  					getSplitChar(getMaxDigitCount(radix), splitDigitSeparator, wildcard, "", appendable);
  					return 0;
  				}
  				return getFullRangeString(wildcard, appendable);
  			}
  		}
  		return getRangeString(segmentIndex, params, appendable);
  	}