names = computeNamesOfDayOfWeek(locale);
names = new HashMap(14 * 3);   Locale defaultLocale = Locale.getDefault(); if (defaultLocale.equals(Locale.ENGLISH) == false && defaultLocale.equals(locale) == false) { computeNamesOfDayOfWeek(names, defaultLocale); }   computeNamesOfDayOfWeek(names, Locale.ENGLISH);  computeNamesOfDayOfWeek(names, locale);
    public Object getAsObject(FacesContext context, UIComponent component,            String value) {        if (value == null || value.length() < 1) {            return ZERO;        }        StringTokenizer st = new StringTokenizer(value, ";, \t\r\n");        if (st.hasMoreTokens() == false) {            return ZERO;        }        Locale locale = null;        if (component instanceof ILocalizedAttributesCapability) {            ILocalizedAttributesCapability localizedAttributesCapability = (ILocalizedAttributesCapability) component;            locale = localizedAttributesCapability.getAttributesLocale();        }        if (locale == null) {            locale = Locale.getDefault();        }        Map names;        synchronized (namesOfDayOfWeek) {            names = (Map) namesOfDayOfWeek.get(locale);            if (names == null) {                names = computeNamesOfDayOfWeek(locale);                namesOfDayOfWeek.put(locale, names);            }        }        int mask = 0;        for (; st.hasMoreTokens();) {            String name = st.nextToken().toLowerCase();            Integer idxOfDay = (Integer) names.get(name);            if (idxOfDay == null) {                throw new FacesException("Can not understand day of week '"                        + name + "'. (current locale=" + locale + ")");            }            mask |= idxOfDay.intValue();        }        if (mask == 0) {            return ZERO;        }        return new Integer(mask);    }