code: def insert_child(self, child, index):
          
  
          if index < 0 or index > len(self.__children):
              return False
  
          self.__children.insert(index, child)
          child.parent = self
          return child
docs: Inserts given child at given index.
  
          Usage::
  
              >>> node_a = AbstractCompositeNode("MyNodeA")
              >>> node_b = AbstractCompositeNode("MyNodeB", node_a)
              >>> node_c = AbstractCompositeNode("MyNodeC", node_a)
              >>> node_d = AbstractCompositeNode("MyNodeD")
              >>> node_a.insert_child(node_d, 1)
              True
              >>> [child.name for child in node_a.children]
              [u'MyNodeB', u'MyNodeD', u'MyNodeC']
  
          :param child: Child node.
          :type child: AbstractNode or AbstractCompositeNode or Object
          :param index: Insertion index.
          :type index: int
          :return: Method success.
          :rtype: bool