code: def _if_apply_bloom_filter(
      cls,
      method: MergeMethod,
      op: "DataFrameMerge",
      left: TileableType,
      right: TileableType,
  ):
      # bloom filter can only work for inner merge
      if op.how != "inner" or op.bloom_filter is False:
          return False
      elif op.bloom_filter is True:
          return True
  
      bloom_filter_options = op.bloom_filter_options or dict()
      bloom_filter_chunk_threshold = bloom_filter_options.get(
          "apply_chunk_size_threshold",
          DEFAULT_BLOOM_FILTER_CHUNK_THRESHOLD,
      )
  
      # TODO(hks): disable bloom_filter for now, when it is ready, turn it on them
      # bloom_filter == auto
      if (
          len(left.chunks + right.chunks)
          <= bloom_filter_chunk_threshold
      ):
          # if size of input chunks <= threshold, skip bloom filter
          return False
      elif method == MergeMethod.shuffle:
          # for shuffle, enable bloom filter by default
          return False
  
      return False
  
imports: import itertools
  from collections import namedtuple
  from enum import Enum
  from typing import Any, Dict, List, Optional, Union, Tuple
  import numpy
  import pandas
  from ...None import opcodes
  from ...core import OutputType, recursive_tile, TileStatus
  from ...core.context import get_context
  from ...core.operand import OperandStage, MapReduceOperand
  from ...serialization.serializables import AnyField, BoolField, DictField, StringField, TupleField, KeyField, Int32Field, NamedTupleField
  from ...typing import TileableType
  from ...utils import has_unknown_shape, lazy_import
  from ..base.bloom_filter import filter_by_bloom_filter
  from ..core import DataFrame, Series, DataFrameChunk
  from ..operands import DataFrameOperand, DataFrameOperandMixin, DataFrameShuffleProxy
  from ..utils import auto_merge_chunks, build_concatenated_rows_frame, build_df, parse_index, hash_dataframe_on, infer_index_value, is_cudf
  import logging
label_desc: Use image node_id 14 for calling the DataFrameMerge obj's underlying member method code with example usage: obj._if_apply_bloom_filter(cls, method, op, left, right) and returns: False, False, False, True, False