# File lib/adhearsion/voip/asterisk/config_generators/config_generator.rb, line 81
          def one_of_and_translate(criteria, options)
            cache = options.delete(:with) || properties
            options.each_pair do |key, value|
              search = criteria.keys.find { |criterion| criterion === value }
              unless search
                msg = "Didn't recognize #{value.inspect}! Must be one of " + criteria.keys.map(&:inspect).to_sentence
                raise ArgumentError, msg
              end
              cache[key] = criteria[value]
            end
          end