Is a while loop embedded in if/else if legal?