def split_content_header_data( content ):
    """
    Splits content into its header and data components.

    :param content: The content to split.
    :returns: Tuple of ( header, data ).
    :raises RuntimeError: If the data could not be split.
    """
    split_pattern = '*** The recorded data ***'
    try:
        split = content.index( split_pattern )
    
    except ValueError as err:
        # could not find split string
        raise RuntimeError( 'Could not split content.' )
        
    return ( content[ :split ], content[ split + len( split_pattern ): ] )