Como faço para quebrar vários loops foreach? [duplicado

Esta pergunta já tem uma resposta aqui:

Como faço para interromper loops aninhados em Java? 31 respostas

Tenho quatro loops foreach que iteram pelas coleções e, com base em uma condição, fazem alguma cois

Aqui está o código que estou escrevendo agora:

boolean breakFlag = false;
String valueFromObj2 = null;
String valueFromObj4 = null;
for(Object1 object1: objects){
  for(Object2 object2: object1){
    // I get some value from object2
    valueFromObj2 = object2.getSomeValue();
    for(Object3 object3 : object2){
      for(Object4 object4: object3){
       // Finally I get some value from Object4.
       valueFromObj4 = object4.getSomeValue();
       // Compare with valueFromObj2 to decide either to break all the foreach loop
       breakFlag = compareTwoVariable(valueFromObj2, valueFromObj4 );
       if(breakFlag){break;}
      } // fourth loop ends here
      if(breakFlag){break;}
    } // third loop ends here
    if(breakFlag){break;}
  } // second loop ends here
  if(breakFlag){break;}
} // first loop ends here

O objeto principal (objetos no código) vem de um SDK de um provedor de terceiros, portanto não posso alterar nada nessa parte. Quero perguntar à comunidade Stack Overflow se existe uma abordagem melhor para quebrar todos os quatro loops foreach. Ou, se houver outra maneira de refatorar esse código para torná-lo mais legível e sustentáve

questionAnswers(9)

yourAnswerToTheQuestion