Since enhanced for loops are read only, it seems like each element is being copied into the new variable that you define when setting up the loop. Is there an implicit statement here? Maybe something like this:
int[] numbers = {1, 2, 3};
for(int number : numbers){
numbers = numbers[i]; // Implicit statement? Problem: the i variable does not exist.
// Do stuff...
}