code: def ToDebugString(self, indentation_level=1):
      
      indentation = '  ' * indentation_level
  
      text_parts = ['{0:s}path segment index: {1:d}\n'.format(
          indentation, self.path_segment_index)]
  
      for path_segment, scan_object in self._path_segments.items():
        text_parts.append('{0:s}path segment: {1:s}\n'.format(
            indentation, path_segment))
  
        if isinstance(scan_object, PathFilterScanTreeNode):
          text_parts.append('{0:s}scan tree node:\n'.format(indentation))
          text_parts.append(scan_object.ToDebugString(indentation_level + 1))
  
        elif isinstance(scan_object, py2to3.STRING_TYPES):
          text_parts.append('{0:s}path: {1:s}\n'.format(
              indentation, scan_object))
  
      text_parts.append('{0:s}default value:\n'.format(indentation))
  
      if isinstance(self.default_value, PathFilterScanTreeNode):
        text_parts.append('{0:s}scan tree node:\n'.format(indentation))
        text_parts.append(self.default_value.ToDebugString(indentation_level + 1))
  
      elif isinstance(self.default_value, py2to3.STRING_TYPES):
        text_parts.append('{0:s}pattern: {1:s}\n'.format(
            indentation, self.default_value))
  
      text_parts.append('\n')
  
      return ''.join(text_parts)
docs: Converts the path filter scan tree node into a debug string.
  
      Args:
        indentation_level: an integer containing the text indentation level.
  
      Returns:
        A string containing a debug representation of the path filter scan
        tree node.