     @nodes[@getNodeId nodeData] = {}
 
     if options.putDepthInfo
-      if @nodes[@getNodePId nodeData]
+      if @nodes[@getNodePId nodeData]?.getData?
         nodeData.depth = @nodes[@getNodePId(nodeData)].getData().depth + 1
       else
         nodeData.depth = 0


    o = @getOptions()
    listToBeAdded = @listControllers[id].getView()
    if nodeView
      nodeView.$().after listToBeAdded.$()
      listToBeAdded.parentIsInDom = yes
      listToBeAdded.propagateEvent KDEventType: 'viewAppended'


    # if node parent is present
    parentNodeView = @nodes[@getNodePId nodeData]
    if parentNodeView?.getData?
      prevNeighbor  = getPreviousNeighbor parentNodeView.getData()
      neighborIndex = @indexedNodes.indexOf prevNeighbor
      @indexedNodes.splice neighborIndex + 1, 0, nodeData
