# File lib/aws/core/xml/stub.rb, line 62
        def stub_data_for rules, data = {}
          rules[:children].each_pair do |name,child_rules|

            # skip ignored elements
            if child_rules[:ignore]
              stub_data_for(child_rules, data) if child_rules[:children]
              next
            end

            orig_data = data
            if wrapper = child_rules[:wrap]
              data[wrapper] ||= {}
              data = data[wrapper]
            end

            ruby_name = child_rules[:rename] ||
              Inflection.ruby_name(name.to_s).to_sym

            if child_rules[:list]
              data[ruby_name] = []
            elsif child_rules[:map]
              data[ruby_name] = {}
            elsif child_rules[:children] and !child_rules[:children].empty?
              data[ruby_name] = stub_data_for(child_rules)
            else
              data[ruby_name] = case child_rules[:type]
                when :integer  then 0
                when :float    then 0.0
                when :time     then Time.now
                when :datetime then Date.parse(Time.now.to_s)
                when :boolean  then false
                else nil
              end
            end

            # restore data incase it was redirected for wrapping
            data = orig_data

          end

          data

        end