code: def table_source_item_with_param(self, tree):
      sample_freq = None
      sample_type = None
      alias = None
      table = None
      chunk_params = {}
  
      for child in tree.children:
          if isinstance(child, Tree):
              if child.data == "table_source_item":
                  table = self.visit(child)
              elif child.data == "sample_params":
                  sample_type, sample_freq = self.visit(child)
              elif child.data == "chunk_params":
                  chunk_params = self.visit(child)
              elif child.data == "alias_clause":
                  alias = self.visit(child)
  
      return TableRef(
          table=table,
          alias=alias,
          sample_freq=sample_freq,
          sample_type=sample_type,
          chunk_params=chunk_params,
      )
  
imports: from lark import Token, Tree
  from evadb.expression.tuple_value_expression import TupleValueExpression
  from evadb.parser.select_statement import SelectStatement
  from evadb.parser.table_ref import Alias, JoinNode, TableRef, TableValuedExpression
  from evadb.parser.types import JoinType
  from evadb.utils.logging_manager import logger
label_desc: Use image node_id 4 for calling the TableSources obj's underlying member method code with example usage: obj.table_source_item_with_param(tree) and returns: TableRef