What type of PeopleCode looping construct continues to loop as long as the logical_expression evaluates to TRUE?