code: @Override
      public void print(Appendable appendable, MonetaryAmount amount) throws IOException {
          List<FormatToken> tokens = amount.isNegative() ? negativeTokens : positiveTokens;
          for (FormatToken token : tokens) {
              token.print(appendable, amount);
          }
      }
docs: Prints a item value to an {@code Appendable}.
  <p>
  Example implementations of {@code Appendable} are {@code StringBuilder},
  {@code StringBuffer} or {@code Writer}. Note that {@code StringBuilder}
  and {@code StringBuffer} never throw an {@code IOException}.
  
  @param appendable the appendable to add to, not null
  @param amount     the amount to print, not null
  @throws IOException if an IO error occurs