code: def get_estimated_memory_usage(self) -> int:
      if self._num_rows == 0:
          return 0
      for table in self._tables[self._tables_size_cursor :]:
          self._tables_size_bytes += BlockAccessor.for_block(
              table
          ).size_bytes()
      self._tables_size_cursor = len(self._tables)
      return (
          self._tables_size_bytes + self._uncompacted_size.size_bytes()
      )
  
imports: import collections
  from typing import TYPE_CHECKING, Any, Dict, Iterator, List, Mapping, TypeVar, Union
  import numpy
  from ray.air.constants import TENSOR_COLUMN_NAME
  from ray.data._internal.block_builder import BlockBuilder
  from ray.data._internal.numpy_support import convert_udf_returns_to_numpy, is_array_like
  from ray.data._internal.size_estimator import SizeEstimator
  from ray.data.block import Block, BlockAccessor
  from ray.data.row import TableRow
label_desc: Use image node_id 11 for calling the TableBlockBuilder obj's underlying member method code with example usage: obj.get_estimated_memory_usage() and returns: unknown, int