Pregunta de lista que controla un bucle

Utilizando la misma pregunta de lista que se describe en Preguntas de lista, queremos recopilar información de ingresos para las personas de una unidad familiar. Vamos a utilizar un bucle de vía de acceso rápida anidado como se describe en el ejemplo siguiente:

Figura 1. Ejemplo de código de pregunta de lista de Fast Path que controla un bucle
...
<loop loop-type="for-each" entity="Person"
  criteria="hasIncome==true" fast-path="true">
  <loop loop-type="while" loop-expression="hasMoreIncome"
    entity="Income">
    <question-page id="IncomePage" entity="Income"
      show-person-tabs="true">
      <title id="IncomePage.Title">
        <![CDATA[Detalles de ingresos]]>
      </title>
      <cluster>
        <title id="IncomeDetails.Title">
          <![CDATA[Detalles de ingresos]]>
        </title>
        <question id="type">
          <label id="Type.Label">
            <![CDATA[Tipo:]]>
          </label>
        </question>
        <question id="amount">
          <label id="Amount.Label">
            <![CDATA[Importe:]]>
          </label>
        </question>
        <question id="hasMoreIncome"
          control-question="true"
          control-question-type="IEG_BOOLEAN">
          <label id="ContinueQuestion.Label">
            <![CDATA[Does %1s have any more income?]]>
            <argument id="Person.firstName" />
          </label>
        </question>
      </cluster>
    </question-page>
  </loop>
</loop>

La primera vez que se encuentra la pregunta de lista, las páginas que siguen al bucle recopilarán los ingresos para las personas que se han seleccionado. A continuación, cuando se vuelva a visitar la página que contiene la pregunta de lista, puede ocurrir lo siguiente: