# File lib/cgikit/elements/browser.rb, line 47
    def take_values_from_request( request, context )
      take_value(:list)
      take_value(:selections)
      take_value(:selected_values)
      names = [:selections, :selected_values]
      names.each do |name|
        if @values[name].nil? then
          @values[name] = []
          set_value(name, @values[name])
        end
      end

      options = values_from_request(request, context)
      if !options.empty? and context.current_form?(request) then
        if declared?(:selections) then
          @values[:selections].clear
          if declared?(:value) then
            @values[:list].each do |item|
              set_value(:item, item)
              take_value(:value)
              if options.include?(@values[:value].to_s) then
                @values[:selections] << item
              end
            end
          else
            options.each do |option|
              @values[:selections] << @values[:list][option.to_i]
            end
          end
        elsif declared?(:selected_values) then
          @values[:selected_values].replace(options)
        end
      end
    end