final public OidValue OidValue() throws ParseException {
    Identifier name;
    NumericValue numval;
    OidValue oidval;
    Recovery next = new Recovery();
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case CURRENT_T:
    case DEPRECATED_T:
    case OBSOLETE_T:
    case MANDATORY_T:
    case NOT_IMPLEMENTED_T:
    case VALUE_IDENTIFIER_T:
    case TYPE_IDENTIFIER_T:
      name = ValueIdentifier();
            oidval = new OidValue(name);
            if (getToken(1).kind == LEFT_PAREN_T) {
                LParenSymbol(next);
                oidval.setNumber(NumericValue());
                RParenSymbol(next);
            }
      break;
    case BIN_NUMBER_T:
    case HEX_NUMBER_T:
    case DEC_NUMBER_T:
      numval = NumericValue();
          oidval = new OidValue(numval);
      break;
    default:
      jj_la1[62] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
      {if (true) return oidval;}
    throw new Error("Missing return statement in function");
  }