<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def Map(self, function):
 """Applies the function to every row in the table. Args: function: A function applied to each row. Returns: A new TextTable() Raises: TableError: When transform is not invalid row entry. The transform must be compatible with Append(). """

        new_table = self.__class__()
        # pylint: disable=protected-access
        new_table._table = [self.header]
        for row in self:
            filtered_row = function(row)
            if filtered_row:
                new_table.Append(filtered_row)
        return new_table