def METHOD_NAME(self, tables: List[TableMetadata]) -> str:
    """
    Generates a unique hash for a set of tables that are associated to a where clause. Since
    we do not want multiple instances of this where clause represented in the database we may
    need to link mulitple tables to this where clause. We do this by creating a single, unique
    key across multiple tables by concatenating all of the table keys together and creating a
    hash (to shorten the value).
    """
    tbl_keys = ''.join(list(sorted([t._get_table_key() for t in tables])))
    return hashlib.md5(tbl_keys.encode('utf-8')).hexdigest()