Rhino.NodeTransformer.ReplaceCurrent C# (CSharp) Method

ReplaceCurrent() private static method

private static ReplaceCurrent ( Node parent, Node previous, Node current, Node replacement ) : Node
parent Node
previous Node
current Node
replacement Node
return Node
		private static Node ReplaceCurrent(Node parent, Node previous, Node current, Node replacement)
		{
			if (previous == null)
			{
				if (!(current == parent.GetFirstChild()))
				{
					Kit.CodeBug();
				}
				parent.ReplaceChild(current, replacement);
			}
			else
			{
				if (previous.next == current)
				{
					// Check cachedPrev.next == current is necessary due to possible
					// tree mutations
					parent.ReplaceChildAfter(previous, replacement);
				}
				else
				{
					parent.ReplaceChild(current, replacement);
				}
			}
			return replacement;
		}