break; case 1: if (isWhite) { p1 = i; state=2; } break; case 2: if (!isWhite) { t0 = i; state=3; } break; default: Standard.configuration().standardmessage. error("doclet.parameter_syntax_error", "StateError: "+doc.toString()); break;
if (state==3) break;
  public Tuple(Doc doc, Tag tag) {    this.doc = doc;     this.tag = tag;    String tt = tag.text();    int i;    int l = tt.length();    int state =0;             // what are we looking for?    int p0=-1,p1=-1,t0=-1;    // scan the tag text    for (i=0;i<l;i++) {      char c = tt.charAt(i);      boolean isWhite = (white.indexOf(c)>=0);      switch (state) {      case 0:                 // looking for param start        if (!isWhite) {          p0=i;          state=1;        }        break;      case 1:                 // looking for param end        if (isWhite) {          p1 = i;          state=2;        }        break;      case 2:                 // looking for text start        if (!isWhite) {          t0 = i;          state=3;        }        break;      default:                // shouldn't get here        Standard.configuration().standardmessage.          error("doclet.parameter_syntax_error",                 "StateError: "+doc.toString());        break;      }      if (state==3) break;    }    if (t0>=0) {      param = tt.substring(p0,p1);      text = tt.substring(t0);    } else {      Standard.configuration().standardmessage.        error("doclet.parameter_syntax_error",               doc.toString());    }  }