Try to read MetadataFile. If the exception is raised, log the errors to
    the `error_protocol` and return None.

def _safe_read_meta_file(fn, error_protocol):
    """
    Try to read MetadataFile. If the exception is raised, log the errors to
    the `error_protocol` and return None.
    """
    try:
        return MetadataFile(fn)
    except Exception, e:
        error_protocol.append(
            "Can't read MetadataFile '%s':\n\t%s\n" % (fn, e.message)
        )