code: public MoneyAmountStyle withZeroCharacter(Character zeroCharacter) {
          int zeroVal = (zeroCharacter == null ? -1 : zeroCharacter);
          if (zeroVal == this.zeroCharacter) {
              return this;
          }
          return new MoneyAmountStyle(
                  zeroVal,
                  positiveCharacter, negativeCharacter,
                  decimalPointCharacter, groupingStyle,
                  groupingCharacter, groupingSize, extendedGroupingSize, forceDecimalPoint, absValue);
      }
docs: Returns a copy of this style with the specified zero character.
  <p>
  The UTF-8 standard supports a number of different numeric scripts.
  Each script has the characters in order from zero to nine.
  This method sets the zero character, which therefore also defines one to nine.
  <p>
  For English, this is a '0'. Some other scripts use different characters
  for the numbers zero to nine.
  
  @param zeroCharacter  the zero character, null if to be determined by locale
  @return the new instance for chaining, never null