def _format_name(self, name, surname, snake_case=False):
        """Format a first name and a surname into a cohesive string.

        Note that either name or surname can be empty strings, and
        formatting will still succeed.

        :param str name: A first name.
        :param str surname: A surname.
        :param bool snake_case: If True, format the name as
            "snake_case", also stripping diacritics if any. (default:
            False)
        :return str: The formatted name.
        """
        if not name or not surname:
            sep = ''
        elif snake_case:
            sep = '_'
        else:
            sep = ' '

        if snake_case:
            name = self._snakify_name(name)
            surname = self._snakify_name(surname)

        disp_name = '{}{}{}'.format(name, sep, surname)

        return disp_name
Format a first name and a surname into a cohesive string.

        Note that either name or surname can be empty strings, and
        formatting will still succeed.

        :param str name: A first name.
        :param str surname: A surname.
        :param bool snake_case: If True, format the name as
            "snake_case", also stripping diacritics if any. (default:
            False)
        :return str: The formatted name.