Problema con openfaces de JSF

Hola a todos, espero puedan ayudarme, lo que pasa es que hace poco empece a aprender a programar en JSF manejando la libreria de openfaces y pues tengo un problemilla, tengo una tabla (DATATABLE) en la cual se cargan una lista de registros, la datatable la tengo con la propiedad customDataProviding en true, porque me toca hacer el filtrado y paginado de forma manual, la tabla tiene varias columnas y en cada cabecera de la columna se encuentra un inputtextfilter (caja de texto) que se encarga de filtrar la informacion, todo bien hasta aqui el problema radica, en que tengo unas columnas en un columngroup y por alguna extraña razon no se porque pero estas columnas que se encuentran en el columngroup no me las filtra. Pondre el codigo del xhtml y el codigo de java donde recojo los parametros filtrados por los inputtextfilter.

<o:dataTable id="mensajesTable"
                 var="mensaje"
                 value="#{mensajesInfoMBean.mensajeEntradaList}"
                 style="margin-top: 15px; width: 100%; height: 420px;"
                 sortAscending="false"

                 customDataProviding="true"
                 totalRowCount="#{mensajesInfoMBean.recordCountEntr}"
                 sortColumnId="id"
                 sortedAscendingImageUrl="../images/treetable/sort_a.gif"
                 sortedDescendingImageUrl="../images/treetable/sort_d.gif"
                 sortedColumnHeaderStyle="background: url('../images/treetable/tableHeader_sorted.gif') repeat-x;"

                 sortableHeaderRolloverStyle="background: url('../images/treetable/tableHeader_rollover.gif') repeat-x !important;"
                 sortedColumnBodyStyle="background: none;"
                 headerRowStyle="background: url('../images/treetable/tableHeader.gif') repeat-x; height: 20px;"
                 subHeaderRowStyle="background: url('../images/datatable/filter.gif') repeat-x #f7f7f7; border-top: 1px solid #f6f7f8;"

                 bodySectionStyle="background: #ffffff"
                 bodyRowStyle="background: #ffffff !important; height: 21px;"
                 bodyOddRowStyle="background: #f5f5f5 !important; height: 21px;"

                 headerVertSeparator="1px solid #d0d0d0, 1px solid #a0a0a0"
                 horizontalGridLines="1px solid #f6f7f8"
                 pageSize="12">

        <o:singleRowSelection
            rowData="#{mensajesInfoMBean.selectedMensajeEntrada}"
            style="background: url('../images/treetable/selected.gif') repeat-x #5d8bba !important; color: white !important;"
            render="mensajePanel"/>
        <o:scrolling/>
        <o:columnReordering/>
        <o:columnResizing resizingState="#{mensajesInfoMBean.columnResizingState}" autoSaveState="true"/>
        <f:facet name="columnMenu">
            <o:columnMenu/>
        </f:facet>
        <f:facet name="columnMenuButton">
            <o:captionButton style="border-left: none; background: url('../images/treetable/columnMenuBtn.gif');"
                             rolloverStyle="border-left: none; background: url('../images/treetable/columnMenuBtnRollover.gif');"
                             pressedStyle="border-left: none; background: url('../images/treetable/columnMenuBtnPressed.gif');"/>
        </f:facet>

        <o:column id="id"
                  header="Id"
                  width="15%"
                  sortingExpression="#{mensaje.id}"
                  bodyStyle="text-align: left; white-space: nowrap; padding-left: 5px; padding-right: 5px;"
                  headerStyle="text-align: left; padding-left: 5px; padding-right: 5px;">
            <f:facet name="subHeader">
                <o:inputTextFilter expression="id"/>
            </f:facet>
            <h:outputText value="#{mensaje.id}" style="white-space: nowrap;"/>
        </o:column>

        <o:columnGroup header="Estado">
            <o:column id="estado"
                  header="Nombre"
                  width="10%"
                  headerStyle="white-space: normal;"
                  sortingExpression="#{mensaje.stateName}"
                  bodyStyle="text-align: right; padding-left: 5px; padding-right: 5px;"
                  >
          <f:facet name="subHeader">
              <o:inputTextFilter expression="estado" autoFilterDelay="1000"/>
          </f:facet>

          <h:outputText value="#{mensaje.stateName}"/>
        </o:column>
           
            <o:column id="fechEstado"
                      header="Fecha"
                  width="10%"
                  sortingExpression= "#{mensaje.stateupdatetimeString}"
                  bodyStyle="text-align: right; padding-left: 5px; padding-right: 5px;"
                  headerStyle="white-space: normal;">
          <f:facet name="subHeader">
            <o:inputTextFilter expression="fechEstado" autoFilterDelay="1000"/>
          </f:facet>

          <h:outputText value="#{mensaje.stateupdatetimeString}"/>
        </o:column>
        </o:columnGroup>

        <f:facet name="below">
            <h:panelGrid columns="2" styleClass="previewPanel" width="100%">

                <o:dataTablePaginator id="paginator" style="margin-left: 20px; margin-top: 10px;"/>

            </h:panelGrid>
        </f:facet>
        <!--
        -->
    </o:dataTable>

CODIGO JAVA:

CompositeFilterCriterion filterCriteria = Faces.var("filterCriteria", CompositeFilterCriterion.class);

for (FilterCriterion entry : filterCriteria.getCriteria()) {
ExpressionFilterCriterion criterion = (ExpressionFilterCriterion) entry;
String columnId = criterion.getExpressionStr();
String searchString = criterion.getArg1().toString();
criteriaMap.put(columnId, searchString);
}

En esta parte de codigo java es donde se filtran los datos ingresados en el inputtextfilter, todos los datos ingresados son tomados excepto los de las columnas que se encuentran en columngroup, espero me puedan ayudar gracias de antemano