# File lib/aws/core/configuration.rb, line 324
        def add_option_with_needs name, needs, &create_block
          
          accepted_options << name
  
          define_method(name) do
  
            return supplied[name] if supplied.has_key?(name)
  
            needed = needs.collect{|need| send(need) }
  
            unless @created.key?(name) and @created[name][:needed] == needed
              @created[name] = {}
              @created[name][:object] = create_block.call(self)
              @created[name][:needed] = needed
            end
  
            @created[name][:object]
            
          end
  
        end