protected void encodeFilter(FacesContext context, SelectOneMenu component) throws IOException {
        ResponseWriter writer = context.getResponseWriter();
        String id = component.getClientId(context) + "_filter";

        writer.startElement("div", null);
        writer.writeAttribute("class", "ui-selectonemenu-filter-container", null);

        writer.startElement("input", null);
        writer.writeAttribute("class", "ui-selectonemenu-filter ui-inputfield ui-inputtext ui-widget ui-state-default", null);
        writer.writeAttribute("id", id, null);
        writer.writeAttribute("name", id, null);
        writer.writeAttribute("type", "text", null);
        writer.writeAttribute("autocomplete", "off", null);
        writer.writeAttribute(HTML.ARIA_CONTROLS, component.getClientId(context) + "_table", null);

        if (component.getFilterPlaceholder() != null) {
            writer.writeAttribute("placeholder", component.getFilterPlaceholder(), null);
        }

        writer.endElement("input");

        writer.startElement("span", null);
        writer.writeAttribute("class", "ui-icon ui-icon-search", id);
        writer.endElement("span");

        writer.endElement("div");
    }
Encodes one SelectItem.
@return true if SelectItem is selected.
@throws IOException
primefaces/src/main/java/org/primefaces/component/selectonemenu/SelectOneMenuRenderer.java