class BreakTag {

    Optional<Boolean> taken = Optional.empty();

    public void recordBroken(boolean broken) {<FILL_FUNCTION_BODY>}

    public boolean wasBreakTaken() {
      return taken.orElse(false);
    }
  }

      // TODO(cushon): enforce invariants.
      // Currently we rely on setting Breaks multiple times, e.g. when deciding
      // whether a Level should be flowed. Using separate data structures
      // instead of mutation or adding an explicit 'reset' step would allow
      // a useful invariant to be enforced here.
      taken = Optional.of(broken);
    
<methods>public non-sealed void <init>() ,public final java.lang.String getLine(int) ,public final int getLineCount() ,public final Range<java.lang.Integer> getRanges(int) ,public static Map<java.lang.Integer,Range<java.lang.Integer>> makeKToIJ(com.google.googlejavaformat.InputOutput) ,public java.lang.String toString() <variables>protected static final Range<java.lang.Integer> EMPTY_RANGE,private static final DiscreteDomain<java.lang.Integer> INTEGERS,private ImmutableList<java.lang.String> lines,protected final List<Range<java.lang.Integer>> ranges