code: public void setFormatByArgumentName(String argumentName, Format newFormat) {
          int argNumber = MessagePattern.validateArgumentName(argumentName);
          if (argNumber < MessagePattern.ARG_NAME_NOT_NUMBER) {
              return;
          }
          for (int partIndex = 0; (partIndex = nextTopLevelArgStart(partIndex)) >= 0;) {
              if (argNameMatches(partIndex + 1, argumentName, argNumber)) {
                  setCustomArgStartFormat(partIndex, newFormat);
              }
          }
      }
docs: <strong>[icu]</strong> Sets the Format object to use for the format elements within the
  previously set pattern string that use the given argument
  name.
  <p>
  If the argument name is used for more than one format element
  in the pattern string, then the new format is used for all such
  format elements. If the argument name is not used for any format
  element in the pattern string, then the new format is ignored.
  <p>
  This API may be used on formats that do not use named arguments.
  In this case <code>argumentName</code> should be a String that names
  an argument index, e.g. "0", "1", "2"... etc.  If it does not name
  a valid index, the format will be ignored.  No error is thrown.
  
  @param argumentName the name of the argument to change
  @param newFormat the new format to use