# File lib/aws/configuration.rb, line 271
      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