OUTER: e INNER: no codigo qual a explicacao para o codigo

Bom a dia, estou estudando para a certificacao e encontrei dois trechos de codigo que usando OUTER e INNER , alguem sabe explicar a origem desses dois tipo de dados ?

public class FeedingSchedule {
	public static void main(String[] args) {
		int x = 5, j = 0;
		OUTER: for(int i=0; i<3; )
			INNER: do {
				i++; x++;
				if(x > 10) break INNER;
					x += 4;
					j++;
			} while(j <= 2);
			
			System.out.println(x);
	 } 

}

Não são tipos de dados, são apenas apelidos para o java saber qual laço (for, while, do-while) ele precisa parar…

São chamados de labaled loop (laço rotulado)