docstr: Get the upper bound estimate on the size of record
          
code: def estimate_size_in_bytes(cls, key, value, headers):
      """Get the upper bound estimate on the size of record"""
      return (
          cls.HEADER_STRUCT.size
          + cls.MAX_RECORD_OVERHEAD
          + cls.size_of(key, value, headers)
      )
  
imports: import struct
  import time
  from kafka.record.abc import ABCRecord, ABCRecordBatch, ABCRecordBatchBuilder
  from kafka.record.util import decode_varint, encode_varint, calc_crc32c, size_of_varint
  from kafka.errors import CorruptRecordException, UnsupportedCodecError
  from kafka.codec import gzip_encode, snappy_encode, lz4_encode, zstd_encode, gzip_decode, snappy_decode, lz4_decode, zstd_decode
  import kafka.codec
label_desc: Use image node_id 10 for calling the DefaultRecordBatchBuilder obj's underlying member method code with example usage: obj.estimate_size_in_bytes(cls, key, value, headers) and returns: unknown