code: def _merge_section(original, to_merge):
      # type: (str, str) -> str
      
      if not original:
          return to_merge or ''
      if not to_merge:
          return original or ''
      try:
          index = original.index(':') + 1
      except ValueError:
          index = original.index('\n')
      name = original[:index].strip()
      section = '\n  '.join(
          (original[index + 1:].lstrip(), to_merge[index + 1:].lstrip())
      ).rstrip()
      return '{name}\n  {section}'.format(name=name, section=section)
docs: Merge two sections together.
  
      Args:
          original: The source of header and initial section lines.
          to_merge: The source for the additional section lines to append.
  
      Returns:
          A new section string that uses the header of the original argument and
          the section lines from both.