String valueString() {
            Object v = value();
            if (v == null) {
                throw new IllegalArgumentException("Missing output: " + token);
            }
            if (v.getClass() == Double.class) {
                return String.format(Locale.US, fformat, v);
            } else if (v instanceof Calendar) {
                return dfmt.format(((Calendar) v).getTime());
            } else if (v instanceof double[]) {
                return dblfmt((double[]) v);
            }
            return v.toString();
        }