code: def indent(text, prefix, predicate=None):
      """
      Non-protected indent
  
      Parameters
      ----------
      text : {None, str}
          If None, function always returns ""
      prefix : str
          Prefix to add to the start of each line
      predicate : callable, optional
          If provided, 'prefix' will only be added to the lines
          where 'predicate(line)' is True. If 'predicate' is not provided,
          it will default to adding 'prefix' to all non-empty lines that do not
          consist solely of whitespace characters.
  
      Returns
      -------
  
      """
      if text is None:
          return ""
      return textwrap.indent(text, prefix, predicate=predicate)
  
imports: from collections import namedtuple
  from collections.abc import Mapping
  import copy
  import inspect
  import re
  import textwrap
  from statsmodels.tools.sm_exceptions import ParseError
label_desc: Use image node_id 4 for calling a global function with example usage: indent(text, prefix, predicate) and returns: textwrap, str