code: def find_anchor_nodes(
      self, ctx: MatchContext, searched: Set[torch.fx.Node]
  ):
      # We generally match GetItem with arg being an Arg(). So, we never return the anchor
      # nodes as the stored node in ctx.pattern_to_node is returned. Here we override find_anchor_nodes
      # to not use ctx.pattern_to_node
      for pattern in self.flat_args_kwargs[0]:
          if isinstance(pattern, PatternExpr):
              for other_node in pattern.find_anchor_nodes(
                  ctx, searched
              ):
                  if not isinstance(other_node, torch.fx.Node):
                      continue
                  for node in other_node.users:
                      if node not in searched:
                          if self._match_fns(node):
                              yield node
                              searched.add(node)
  
imports: import itertools
  import logging
  import operator
  from typing import Any, Callable, List, Optional, Sequence, Set, Tuple, Union
  from typing_extensions import TypeAlias
  import torch
  from torch._dynamo.utils import counters
  from ..pattern_matcher import Arg, CallFunction, CallFunctionVarArgs, CallMethodVarArgs, config_flag, FailedMatch, get_arg_value, Ignored, KeywordArg, ListOf, Match, MatchContext, MULTIPLE, PatternExpr, register_graph_pattern, RepeatedExpr
  from .pre_grad import merge_getitem_cat_pass, merge_splits_pass, normalization_pass, split_cat_pass, unbind_stack_pass
label_desc: Use image node_id 2 for calling the GetItem obj's underlying member method code with example usage: obj.find_anchor_nodes(ctx, searched) without return types