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().

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