&& (exploredLinesForward <= settings.getForwardDistanceLines() || RecoveryConnector.isLayoutCharacter((char)mySGLR.getCurrentToken()))
</BUG>
&& getHistory().getTokenIndex() <= exploredRegionEndOffset
&& getHistory().getTokenIndex() <= fwTokensSeenMax
&& mySGLR.acceptingStack == null
<BUG>&& mySGLR.getCurrentToken() != SGLR.EOF
</BUG>
&& getHistory().getTokenIndex() < this.settings.getEndOffsetFragment()
);
mySGLR.setFinegrainedRecoverMode(false);

mySGLR.setFinegrainedRecoverMode(exploredRegionStartOffset <= curTokIndex);
mySGLR.doParseStep();
newCandidates.addAll(collectNewRecoverCandidates(curTokIndex));
mySGLR.getRecoverStacks().clear();
} while (
(exploredLinesForward <= fwLineMax || RecoveryConnector.isLayoutCharacter((char)mySGLR.getCurrentToken().getToken()))
&& (exploredLinesForward <= settings.getForwardDistanceLines() || RecoveryConnector.isLayoutCharacter((char)mySGLR.getCurrentToken().getToken()))
&& getHistory().getTokenIndex() <= exploredRegionEndOffset
&& getHistory().getTokenIndex() <= fwTokensSeenMax
&& mySGLR.acceptingStack == null
&& mySGLR.getCurrentToken().getToken() != SGLR.EOF
&& getHistory().getTokenIndex() < this.settings.getEndOffsetFragment()
);
mySGLR.setFinegrainedRecoverMode(false);
