case '?': case '*': case '+': acc.append(c);
case 0x3f: acc.append('?'); cp.min = 0; cp.max = 1; break; case 0x2a: acc.append('*'); cp.min = 0; cp.max = -1; break; case 0x2b: acc.append('+'); cp.min = 1; cp.max = -1;
  private void readContentParticle(StringBuffer acc)    throws IOException, XMLStreamException  {    if (tryRead('('))      {        acc.append('(');        readElements(acc);      }    else      {        acc.append(readNmtoken(true));        mark(1);        char c = readCh();        switch (c)          {          case '?':          case '*':          case '+':            acc.append(c);            break;          default:            reset();          }      }  }