 // MARK: - UISearchResultsUpdating
 
 extension GCCountryPickerViewController: UISearchResultsUpdating {
+    
+    /// Called when the search bar becomes the first responder or when the user makes changes inside the search bar.
+    ///
+    /// This method is automatically called whenever the search bar becomes the first responder or changes are made to the text in the search bar. Perform any required filtering and updating inside of this method.
+    ///
+    /// - Parameter searchController: The UISearchController object used as the search bar.
     
     public func updateSearchResults(for searchController: UISearchController) {
         


extension GCCountryPickerViewController {
    
    public override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        let cell = tableView.dequeueReusableCell(withIdentifier: "TableViewCell", for: indexPath)


extension GCCountryPickerViewController {
    
    /// Tells the data source to return the number of rows in a given section of a table view.
    ///
    /// - Parameter tableView: The table-view object requesting this information.
    /// - Parameter section: An index number identifying a section in tableView.
    /// - Returns: The number of rows in section.
    
    public override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        
        return self.countries.count
    }
    
    /// Tells the delegate that the specified row is now selected.
    ///
    /// The delegate handles selections in this method. One of the things it can do is exclusively assign the check-mark image (checkmark) to one row in a section (radio-list style). This method isn’t called when the isEditing property of the table is set to true (that is, the table view is in editing mode). See "Managing Selections" in Table View Programming Guide for iOS for further information (and code examples) related to this method.
    ///
    /// - Parameter tableView: A table-view object informing the delegate about the new row selection.
    /// - Parameter indexPath: An index path locating the new selected row in tableView.
    
    public override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        
        self.delegate?.countryPicker(self, didSelectCountry: self.countries[indexPath.row])
