La acción p: commandButton y f: setpropertyactionlistener no se invocan en p: columngroup

Necesito poner componentes secundarios en el pie de la subtabla de primefaces (p: columngroup type = "footer"), pero el renderizador de subtablas estándar no brinda esa oportunidad. Así que he anulado org.primefaces.component.SubTableRenderer para agregar la representación de hijos:

public class CustomSubTableRenderer extends SubTableRenderer{
@Override
protected void encodeColumnFooter(FacesContext context, SubTable table, Column column) throws IOException {
    ResponseWriter writer = context.getResponseWriter();

    String style = column.getStyle();
    String styleClass = column.getStyleClass();
    styleClass = styleClass == null ? DataTable.COLUMN_FOOTER_CLASS : DataTable.COLUMN_FOOTER_CLASS + " " + styleClass;

    writer.startElement("td", null);
    writer.writeAttribute("class", styleClass, null);
    if(column.getRowspan() != 1) writer.writeAttribute("rowspan", column.getRowspan(), null);
    if(column.getColspan() != 1) writer.writeAttribute("colspan", column.getColspan(), null);
    if(style != null) writer.writeAttribute("style", style, null);

    //encode children
    for(UIComponent footerColumnChild : column.getChildren()) {
        if(footerColumnChild.isRendered()) {
            footerColumnChild.encodeAll(context);
        }
    }

   UIComponent facet = column.getFacet("footer");
    String text = column.getFooterText();
    if(facet != null) {
        facet.encodeAll(context);
    } else if(text != null) {
        writer.write(text);
    }

    writer.endElement("td");
}

}

Cuando puse algunos componentes secundarios en p: grupo de columnas como:

<p:dataTable>
            <p:subTable>
                <p:column>..</p:column>
                <p:columnGroup type="footer"> <p:row> <p:column colspan="3">
                    <p:commandButton id="button" 
                                     action="#{myBean.someAction}"
                                     oncomplete="jQuery('#select').modal('show');return false;"
                                     value="#{val.add}" alt="#{val.add}"
                                     title="#{val.add}"> </p:commandButton>
                    <f:setPropertyActionListener value="#{otherBean.id}"
                                                 target="#{anotherBean.selectedBackId}" /></p:column> </p:row>
                </p:columnGroup> </p:subTable>
        </p:dataTable>

El botón se representa y el evento onClick invoca bien, pero ni la acción del botón ni f: setPropertyActionListener no invoca. ¿Cómo hacer que funcionen?

si cambio p: columnGroup type = "footer", la construcción se convierte en p: etiqueta de columna que acción de botón y f: setPropertyActionListener ambos funcionan bien

Respuestas a la pregunta(3)

Su respuesta a la pregunta