protected boolean visitFacets(VisitContext context,
                                  VisitCallback callback,
                                  boolean visitRows) {

        if (visitRows) {
            setRowIndex(-1);
        }
        if (getFacetCount() > 0) {
            for (UIComponent facet : getFacets().values()) {
                if (facet.visitTree(context, callback))
                    return true;
            }
        }

        return false;
    }
<p>Perform the appropriate phase-specific processing and per-row
iteration for the specified phase, as follows:
<ul>
<li>Set the <code>rowIndex</code> property to -1, and process the facets
    of this {@link UIData} component exactly once.</li>
<li>Set the <code>rowIndex</code> property to -1, and process the facets
    of the {@link UIColumn} children of this {@link UIData} component
    exactly once.</li>
<li>Iterate over the relevant rows, based on the <code>first</code>
    and <code>row</code> properties, and process the children
    of the {@link UIColumn} children of this {@link UIData} component
    once per row.</li>
</ul>

@param context {@link FacesContext} for the current request
@param phaseId {@link PhaseId} of the phase we are currently running
primefaces/src/main/java/org/primefaces/component/patch/UIDataPatch.java