code: @GwtIncompatible("incompatible method")
      public static Formatter append(final CharSequence seq, final Formatter formatter, final int flags, final int width,
              final int precision, final char padChar, final CharSequence ellipsis) {
          Validate.isTrue(ellipsis == null || precision < 0 || ellipsis.length() <= precision,
                  "Specified ellipsis '%1$s' exceeds precision of %2$s", ellipsis, Integer.valueOf(precision));
          final StringBuilder buf = new StringBuilder(seq);
          if (precision >= 0 && precision < seq.length()) {
              final CharSequence _ellipsis = ObjectUtils.defaultIfNull(ellipsis, StringUtils.EMPTY);
              buf.replace(precision - _ellipsis.length(), seq.length(), _ellipsis.toString());
          }
          final boolean leftJustify = (flags & LEFT_JUSTIFY) == LEFT_JUSTIFY;
          for (int i = buf.length(); i < width; i++) {
              buf.insert(leftJustify ? i : 0, padChar);
          }
          formatter.format(buf.toString());
          return formatter;
      }
docs: Handles the common {@link Formattable} operations of truncate-pad-append.
  
  @param seq  the string to handle, not null
  @param formatter  the destination formatter, not null
  @param flags  the flags for formatting, see {@code Formattable}
  @param width  the width of the output, see {@code Formattable}
  @param precision  the precision of the output, see {@code Formattable}
  @param padChar  the pad character to use
  @param ellipsis  the ellipsis to use when precision dictates truncation, null or
  empty causes a hard truncation
  @return the {@code formatter} instance, not null