int cntr = 0; 

while (list->has_next (access_code))                                           /*  2.. */
{
  cntr ++;

  if (from <= index < from + length, { index = cntr - 1 })
  {
    vb x, pstruct x' = get_current (list, access_code);                        /*  3.. */

    ...

  }
},
{
  ulong64 access_code = make_iterator (list)                                   /*  1.. */
}
//
{
  next_iterator (&access_code, list);                                          /*  4.. */
}
/
{
  delete_iterator (&access_code);                                              /*  5.. */
}
