System.out.println ("*** \"" + varName + "\": tokens.length=" + tokens.length);
    private String substituteDatetime (String varName)         throws ConfigurationException    {        String value = "";        Date   now   = new Date();        if (varName.equals (PROGRAM_NOW_VAR))        {            value = now.toString();        }        else        {            char delim = varName.charAt (PROGRAM_NOW_VAR.length());            String[] tokens = TextUtil.split (varName, delim);            System.out.println ("*** \"" + varName + "\": tokens.length=" + tokens.length);            if ((tokens.length != 2) && (tokens.length != 4))            {                throw new ConfigurationException                                     (Package.BUNDLE_NAME,                                      "ProgramSection.badNowFieldCount",                                      "Section \"{0}\", variable reference "                                    + "\"{1}\": Incorrect number of fields in "                                    + "extended version of \"{2}\" variable. "                                    + "Found {3} fields, expected either "                                    + "{4} or {5}.",                                      new Object[]                                      {                                          this.getName(),                                          varName,                                          PROGRAM_NOW_VAR,                                          String.valueOf (tokens.length),                                          "2",                                          "4"                                      });            }            Locale locale = null;            if (tokens.length == 2)                locale = Locale.getDefault();            else                locale = new Locale (tokens[2], tokens[3]);            try            {                SimpleDateFormat fmt = new SimpleDateFormat (tokens[1],                                                             locale);                value = fmt.format (now);            }            catch (IllegalArgumentException ex)            {                throw new ConfigurationException (ex.toString());            }        }        return value;    }