protected override void RemoveFrom(IReactionBuilder reactionBuilderToRemove, IMoBiReactionBuildingBlock reactionBuildingBlock, IMoBiContext context) { reactionBuildingBlock.Remove(reactionBuilderToRemove); if (reactionBuildingBlock.DiagramModel == null) { return; } _originalNode = reactionBuildingBlock.DiagramModel.FindByName(reactionBuilderToRemove.Name); if (_originalNode != null) { _originalParentLocation = new PointF(_originalNode.GetParent().Location.X, _originalNode.GetParent().Location.Y); // take a clone because we want to be able to put the node back to it's original place if this action is reverted _originalNode = _originalNode.Copy(); } reactionBuildingBlock.DiagramManager.RemoveObjectBase(reactionBuilderToRemove); }