package locals_out;

public class A_test572 {

	public void foo() {
		int i= 0;
		while (true) {
			for(Object element: getArray(i)) {
				i = extracted();
			}
		}
	}

	protected int extracted() {
		int i;
		/*[*/i= 10;/*]*/
		return i;
	}
	
	private Object[] getArray(int i) {
		return null;
	}
}

