'Parses TABLE components
@param table: the TABLE instance or a subcomponent of it
@param content: the current content array
@param row_count: the current number of rows in the content array
@param style: the style list'

def parse_table_components(self, table, content=None, row_count=None, style=None):

    if (content is None):
        content = []
    cappend = content.append
    if (row_count is None):
        row_count = 0
    rowspans = []
    exclude_tag = self.exclude_tag
    parse_tr = self.parse_tr
    parse = self.parse_table_components
    for component in table.components:
        result = None
        if exclude_tag(component):
            continue
        if isinstance(component, (THEAD, TBODY, TFOOT)):
            (content, row_count) = parse(component, content=content, row_count=row_count, style=style)
        elif isinstance(component, TR):
            result = parse_tr(component, style, row_count, rowspans)
            row_count += 1
        if (result != None):
            cappend(result)
    return (content, row_count)
