final public UpdateCommand Update() throws ParseException {
        String tableName;
        List<AttributeAssign> attrAssgs = new ArrayList<AttributeAssign>();
        String condition = "";
        AttributeAssign attrAssg;
    jj_consume_token(KW_UPDATE);
    tableName = getTokenImage();
    jj_consume_token(KW_SET);
    attrAssg = AttributeAssg();
                                                      attrAssgs.add(attrAssg);
    label_8:
    while (true) {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case 51:
        ;
        break;
      default:
        jj_la1[18] = jj_gen;
        break label_8;
      }
      jj_consume_token(51);
      attrAssg = AttributeAssg();
                                               attrAssgs.add(attrAssg);
    }
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case KW_WHERE:
      jj_consume_token(KW_WHERE);
      condition = Expression();
      break;
    default:
      jj_la1[19] = jj_gen;
      ;
    }
          {if (true) return new UpdateCommand(tableName, attrAssgs, condition);}
    throw new Error("Missing return statement in function");
  }