<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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