class_docstr: an immutable object holding a source code fragment,
  possibly deindenting it.
class_docstr_tok: ["an","immutable","object","holding","a","source","code","fragment",",","possibly","deindenting","it","."]
code: def __init__(self, *parts, **kwargs):
      self.lines = lines = []
      de = kwargs.get("deindent", True)
      for part in parts:
          if not part:
              partlines = []
          elif isinstance(part, Source):
              partlines = part.lines
          elif isinstance(part, (tuple, list)):
              partlines = [x.rstrip("\n") for x in part]
          elif isinstance(part, six.string_types):
              partlines = part.split("\n")
          else:
              partlines = getsource(part, deindent=de).lines
          if de:
              partlines = deindent(partlines)
          lines.extend(partlines)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import ast
  import inspect
  import linecache
  import sys
  import textwrap
  import tokenize
  import warnings
  from ast import PyCF_ONLY_AST
  from bisect import bisect_right
  import py
  import six
label_desc: Use image node_id 1 to create a new Source object from inherited base classes: object with example: obj = Source()