public void InsertAfter(TLNode node, TLNode insertAfter) { m_version++; ClearInternalArray(); Debug.Assert(node.Owner == null, "node.Owner == null"); if (insertAfter == null) { node.InsertBefore(m_firstNode, this); m_firstNode = node; } else { node.InsertAfter(insertAfter, this); } if (m_lastNode == insertAfter) { m_lastNode = node; node.Id = m_nextId++; } else { m_IdDirty++; } m_count++; }
public virtual TLNode Add(TLNode newnode) { m_version++; ClearInternalArray(); //Debug.Assert(newnode != null && newnode.Owner == null, "Add(Node newnode)"); newnode.InsertAfter(m_lastNode, this); m_lastNode = newnode; if (m_firstNode == null) { m_firstNode = newnode; } newnode.Id = m_nextId++; m_count++; return(newnode); }