def populate_page_with(data)
      data.to_h.each do |key, value|
        populate_section(key, value) if value.respond_to?(:to_h)
        populate_value(self, key, value)
      end
    end
def populate_page_with(data)
      data.to_h.each do |key, value|
        populate_section(key, value) if value.respond_to?(:to_h)
        populate_value(self, key, value)
      end
    end
This method will populate all matched page TextFields,
 TextAreas, SelectLists, FileFields, Checkboxes, and Radio Buttons from the
 Hash passed as an argument.  The way it find an element is by
 matching the Hash key to the name you provided when declaring
 the element on your page.

 Checkbox and Radio Button values must be true or false.

 @example
   class ExamplePage
     include PageObject

     text_field(:username, :id => 'username_id')
     checkbox(:active, :id => 'active_id')
   end

   ...

   @browser = Watir::Browser.new :firefox
   example_page = ExamplePage.new(@browser)
   example_page.populate_page_with :username => 'a name', :active => true

 @param data [Hash] the data to use to populate this page.  The key
 can be either a string or a symbol.  The value must be a string
 for TextField, TextArea, SelectList, and FileField and must be true or
 false for a Checkbox or RadioButton.