code: def __call__(self, value, no_morph=False, **kwargs):
      items = self.items
      # Start with tokenizer
      gen = items[0](value, **kwargs)
      # Run filters
      for item in items[1:]:
          if not (
              no_morph and hasattr(item, "is_morph") and item.is_morph
          ):
              gen = item(gen)
      return gen
  
imports: from whoosh.analysis.acore import Composable, CompositionError
  from whoosh.analysis.tokenizers import Tokenizer
  from whoosh.analysis.filters import LowercaseFilter
  from whoosh.analysis.filters import StopFilter, STOP_WORDS
  from whoosh.analysis.morph import StemFilter
  from whoosh.analysis.intraword import IntraWordFilter
  from whoosh.analysis.tokenizers import default_pattern
  from whoosh.analysis.tokenizers import CommaSeparatedTokenizer
  from whoosh.analysis.tokenizers import IDTokenizer
  from whoosh.analysis.tokenizers import RegexTokenizer
  from whoosh.analysis.tokenizers import SpaceSeparatedTokenizer
  from whoosh.lang.porter import stem
label_desc: Use image node_id 3 for calling the CompositeAnalyzer obj's underlying member method code with example usage: obj.__call__(value, no_morph) and returns: gen