Por que h: dataTable dentro da interface do usuário: repeat obtém o ID correto?

Código:

<ui:repeat var="obj" value="#{demo2Bean.someList}">
    <h:panelGroup id="foo" />
    <h:dataTable id="bar" />
</ui:repeat>

Resultado:

<span id="j_idt55:0:foo"></span>
<table id="j_idt55:0:bar"><tbody><tr><td></td></tr></tbody></table>
<span id="j_idt55:1:foo"></span>
<table id="j_idt55:0:bar"><tbody><tr><td></td></tr></tbody></table>

Como você pode ver, o ID para tabelas de dados é o mesmo 'j_idt55: 0: bar', mas para panelGroups ele cresce (como deveria): 'j_idt55: 0: foo', 'j_idt55: 1: foo'. Por que é tão?

questionAnswers(1)

yourAnswerToTheQuestion