 
 extension GCCountryPickerViewController {
     
+    /// Asks the data source for a cell to insert in a particular location of the table view.
+    ///
+    /// The returned UITableViewCell object is frequently one that the application reuses for performance reasons. You should fetch a previously created cell object that is marked for reuse by sending a dequeueReusableCell(withIdentifier:) message to tableView. Various attributes of a table cell are set automatically based on whether the cell is a separator and on information the data source provides, such as for accessory views and editing controls.
+    ///
+    /// - Parameter tableView: A table-view object requesting the cell.
+    /// - Parameter indexPath: An index path locating a row in tableView.
+    /// - Returns: An object inheriting from UITableViewCell that the table view can use for the specified row. An assertion is raised if you return nil.
+    
     public override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
         
         let cell = tableView.dequeueReusableCell(withIdentifier: "TableViewCell", for: indexPath)


extension GCCountryPickerViewController {
    
    public override func viewDidLoad() {
        
        super.viewDidLoad()

// 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) {
        
