code: def __call__(self, doc: Doc) -> Doc:
      if self.min_length > 0 and self.split_length > 0:
          with doc.retokenize() as retokenizer:
              for t in doc:
                  if len(t.text) >= self.min_length:
                      orths = []
                      heads = []
                      attrs = {}  # type: ignore[var-annotated]
                      for i in range(0, len(t.text), self.split_length):
                          orths.append(
                              t.text[i : i + self.split_length]
                          )
                          heads.append((t, i / self.split_length))
                      retokenizer.split(t, orths, heads, attrs)  # type: ignore[arg-type]
      return doc
  
imports: import warnings
  from typing import Any, Dict
  import srsly
  from ..None import util
  from ..errors import Warnings
  from ..language import Language
  from ..matcher import Matcher
  from ..tokens import Doc
label_desc: Use image node_id 2 for calling the TokenSplitter obj's underlying member method code with example usage: obj.__call__(doc) and returns: doc