public StringBuffer format(final CommandSender target) {
        // format all dates with time zone for target
        TimeZone timeZone = null;
        final Format[] formats = this.getFormatsByArgumentIndex();
        for(int i = 0; i < formats.length; i++) {
            if (!(formats[i] instanceof DateFormat)) continue;

            if (timeZone == null) timeZone = Recipients.getTimeZone(target);
            final DateFormat sdf = (DateFormat) formats[i];
            sdf.setTimeZone(timeZone);
            this.setFormatByArgumentIndex(i, sdf);
        }

        return this.format(this.arguments, new StringBuffer(), null);
    }