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 __getitem__(self, key):
      if isinstance(key, int):
          return self.lines[key]
      else:
          if key.step not in (None, 1):
              raise IndexError("cannot slice a Source with a step")
          newsource = Source()
          newsource.lines = self.lines[key.start : key.stop]
          return newsource
  
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 3 for calling the Source obj's underlying member method code with example usage: obj.__getitem__(key) and returns: self, newsource