# File lib/declarative_authorization/development_support/change_supporter.rb, line 509
        def apply (candidate)
          # beware of shallow copies!
          cloned_user = @user.clone
          user_index = candidate.users.index(@user)
          raise "Cannot find #{@user.inspect} in users array" unless user_index
          candidate.users[user_index] = cloned_user
          cloned_user.role_symbols.delete(@role)
          raise "User#role_symbols immutable or user only shallowly cloned!" if cloned_user.role_symbols == @user.role_symbols
          true
        end