String () { if (!myHasNestedLoops) return null; if (myLabel == null) { String base = StringUtil.toUpperCase(mySuffix); myLabel = IntStreamEx.ints().mapToObj(i -> i == 0 ? base : base + i) .remove(myUsedLabels::contains).findFirst().orElseThrow(IllegalArgumentException::new); myUsedLabels.add(myLabel); } return myLabel; }