'Insert a single component at index.'

def Insert(self, index, rdfpathspec=None, **kwarg):

    if (rdfpathspec is None):
        rdfpathspec = self.__class__(**kwarg)
    if (index == 0):
        nested_proto = self.__class__()
        nested_proto.SetRawData(self.GetRawData())
        self.SetRawData(rdfpathspec.GetRawData())
        self.last.nested_path = nested_proto
    else:
        previous = self[(index - 1)]
        rdfpathspec.last.nested_path = previous.nested_path
        previous.nested_path = rdfpathspec
