docs: public void mark(Label label) {
          adopt(label);
          if (label.marked) {
              throw new IllegalStateException("already marked");
          }
          label.marked = true;
          if (currentLabel != null) {
              jump(label); // blocks must end with a branch, return or throw
          }
          currentLabel = label;
      }