code: def expand(self, line, do_expand, force=False, vislevels=0, level=-1):
          
  
          lastchild = self.GetLastChild(line, level)
          line += 1
  
          while line <= lastchild:
              if force:
                  if vislevels > 0:
                      self.ShowLines(line, line)
                  else:
                      self.HideLines(line, line)
              elif do_expand:
                  self.ShowLines(line, line)
  
              if level == -1:
                  level = self.GetFoldLevel(line)
  
              if level & stc.STC_FOLDLEVELHEADERFLAG:
                  if force:
                      self.SetFoldExpanded(line, vislevels - 1)
                      line = self.expand(line, do_expand, force, vislevels - 1)
  
                  else:
                      expandsub = do_expand and self.GetFoldExpanded(line)
                      line = self.expand(line, expandsub, force, vislevels - 1)
              else:
                  line += 1
  
          return line
docs: Multi-purpose expand method from original STC class