Sometimes the EPA likes to nest their models and tables -- model within
        a model within a model -- so this internal method tries to clear all
        that up.

def _inception_table_links(self, href_list):
        """
        Sometimes the EPA likes to nest their models and tables -- model within
        a model within a model -- so this internal method tries to clear all
        that up.
        """
        tables = set()
        for link in href_list:
            if not link.startswith('http://'):
                link = self.agency_url + link
            html = urlopen(link).read()
            doc = lh.fromstring(html)
            area = doc.cssselect('map area')
            if area:
                # Then this is a model containing models.
                tables.update((a.attrib['href'] for a in area))
            else:
                # The link is a table without additional models.
                tables.update(link)
        return tables