docs: private static SQLPatternPart makeInnerProcedureModifierClausePattern(boolean captureTokens)
      {
          return
              SPF.oneOf(
                  SPF.clause(
                      SPF.token("allow"),
                      SPF.group(captureTokens, SPF.commaList(SPF.userName()))
                  ),
                  SPF.clause(
                      SPF.token("partition"), SPF.token("on"), SPF.token("table"),
                      SPF.group(captureTokens, SPF.databaseObjectName()),
                      SPF.token("column"),
                      SPF.group(captureTokens, SPF.databaseObjectName()),
                      SPF.optional(
                          SPF.clause(
                              SPF.token("parameter"),
                              SPF.group(captureTokens, SPF.integer())
                          )
                      ),
                      // parse a two-partition transaction clause
                      SPF.optional(
                          SPF.clause(
                              SPF.token("and"), SPF.token("on"), SPF.token("table"),
                              SPF.group(captureTokens, SPF.databaseObjectName()),
                              SPF.token("column"),
                              SPF.group(captureTokens, SPF.databaseObjectName()),
                              SPF.optional(
                                  SPF.clause(
                                      SPF.token("parameter"),
                                      SPF.group(captureTokens, SPF.integer())
                                  )
                              )
                          )
                       )
                  )
              );
      }