<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _read_footer(file_obj):
 """Read the footer from the given file object and returns a FileMetaData object. This method assumes that the fo references a valid parquet file. """

    footer_size = _get_footer_size(file_obj)
    if logger.isEnabledFor(logging.DEBUG):
        logger.debug("Footer size in bytes: %s", footer_size)
    file_obj.seek(-(8 + footer_size), 2)  # seek to beginning of footer
    tin = TFileTransport(file_obj)
    pin = TCompactProtocolFactory().get_protocol(tin)
    fmd = parquet_thrift.FileMetaData()
    fmd.read(pin)
    return fmd