Returns the child ad group that matches the provided group_name or none if the child does not exist.

        :param group_name: The name of the child group. NOTE: A name does not contain 'CN=' or 'OU='
        :type group_name: str
        :param page_size (optional): Many servers have a limit on the number of results that can be returned.
                                     Paged searches circumvent that limit. Adjust the page_size to be below the
                                     server's size limit. (default: 500)
        :type page_size: int

def child(self, group_name, page_size=500):
        """ Returns the child ad group that matches the provided group_name or none if the child does not exist.

        :param group_name: The name of the child group. NOTE: A name does not contain 'CN=' or 'OU='
        :type group_name: str
        :param page_size (optional): Many servers have a limit on the number of results that can be returned.
                                     Paged searches circumvent that limit. Adjust the page_size to be below the
                                     server's size limit. (default: 500)
        :type page_size: int

        """

        object_class = self.get_attribute("objectClass")
        group_type = object_class[-1] if object_class else None

        if group_type == "group":
            connection_dict = self.GROUP_SINGLE_CHILD_SEARCH
        elif group_type == "organizationalUnit":
            connection_dict = self.OU_SINGLE_CHILD_SEARCH
        else:
            logger.debug("Unable to process child {child} of group {group_dn} with type {group_type}.".format(
                child=group_name, group_dn=self.group_dn, group_type=group_type
            ))
            return []

        entry_list = self.ldap_connection.extend.standard.paged_search(
            search_base=connection_dict['base_dn'],
            search_filter=connection_dict['filter_string'].format(child_group_name=escape_query(group_name)),
            search_scope=connection_dict['scope'],
            attributes=connection_dict['attribute_list'],
            paged_size=page_size
        )

        results = [result["dn"] for result in entry_list if result["type"] == "searchResEntry"]

        if len(results) != 1:
            logger.debug("Search returned {count} results: {results}".format(count=len(results), results=results))

        if results:
            return ADGroup(
                group_dn=results[0], server_uri=self.server_uri, base_dn=self.base_dn,
                user_lookup_attr=self.user_lookup_attr, group_lookup_attr=self.group_lookup_attr,
                attr_list=self.attr_list, bind_dn=self.bind_dn, bind_password=self.bind_password,
                user_search_base_dn=self.user_search_base_dn, group_search_base_dn=self.user_search_base_dn
            )
        else:
            return None