String[] props = this.sort.split(" *, *");
String[] props = StringUtil.standardSplit(this.sort);
    public int doEndTag() throws JspException {        // Determine if we're going to be sorting the collection        List<Entry> sortedEntries = new LinkedList<Entry>(this.entries);        if (this.sort != null) {            String[] props = this.sort.split(" *, *");            for (int i=0;i<props.length;++i) {                if (!props[i].equals("label") && !props[i].equals("value")) {                    props[i] = "bean." + props[i];                }            }            Collections.sort(sortedEntries,                             new BeanComparator(getPageContext().getRequest().getLocale(), props));        }        InputOptionTag tag = new InputOptionTag();        tag.setParent(this);        tag.setPageContext(getPageContext());        tag.getAttributes().putAll(getAttributes());        for (Entry entry : sortedEntries) {                tag.setLabel(entry.label.toString());                tag.setValue(entry.value);            try {                tag.doStartTag();                tag.doInitBody();                tag.doAfterBody();                tag.doEndTag();            }            catch (Throwable t) {                /** Catch whatever comes back out of the doCatch() method and deal with it */                try { tag.doCatch(t); }                catch (Throwable t2) {                    if (t2 instanceof JspException) throw (JspException) t2;                    if (t2 instanceof RuntimeException) throw (RuntimeException) t2;                    else throw new StripesJspException(t2);                }            }            finally {                tag.doFinally();            }        }        // Clean up any temporary state        this.entries.clear();        return EVAL_PAGE;    }