You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: update_app_group_identifiers.rb
    path of file: ./repos/fastlane/fastlane/lib/fastlane/actions
    
    the code of the file until where you have to start completion: module Fastlane
  module Actions
    module SharedValues
      APP_GROUP_IDENTIFIERS = :APP_GROUP_IDENTIFIERS
    end

    class UpdateAppGroupIdentifiersAction < Action
      require 'plist'

      def self.run(params)
        UI.message("Entitlements File: #{params[:entitlements_file]}")
        UI.message("New App Group Identifiers: #{params[:app_group_identifiers]}")

        entitlements_file = params[:entitlements_file]
        UI.user_error!("Could not find entitlements file at path '#{entitlements_file}'") unless File.exist?(entitlement
    
      def self.run(params)
        UI.message("Entitlements File: #{params[:entitlements_file]}")
        UI.message("New App Group Identifiers: #{params[:app_group_identifiers]}")

        entitlements_file = params[:entitlements_file]
        UI.user_error!("Could not find entitlements file at path '#{entitlements_file}'") unless File.exist?(entitlements_file)

        # parse entitlements
        result = Plist.parse_xml(entitlements_file)
        UI.user_error!("Entitlements file at '#{entitlements_file}' cannot be parsed.") unless result

        # get app group field
        app_group_field = result['com.apple.security.application-groups']
        UI.user_error!("No existing App group field specified. Please specify an App Group in the entitlements file.") unless app_group_field

        # set new app group identifiers
        UI.message("Old App Group Identifiers: #{app_group_field}")
        result['com.apple.security.application-groups'] = params[:app_group_identifiers]

        # save entitlements file
        result.save_plist(entitlements_file)
        UI.message("New App Group Identifiers set: #{result['com.apple.security.application-groups']}")

        Actions.lane_context[SharedValues::APP_GROUP_IDENTIFIERS] = result['com.apple.security.application-groups']
      end