public void InsertAfter(Node node, Node 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 Node Add(Node 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); }