internal override void Undo(WorkspaceModel workspaceModel) { foreach (var visualElementModel in _copiedElements) { var pluginModel = visualElementModel as PluginModel; var connectorModel = visualElementModel as ConnectorModel; var connectionModel = visualElementModel as ConnectionModel; var textModel = visualElementModel as TextModel; var imageModel = visualElementModel as ImageModel; if (pluginModel != null) { workspaceModel.AllPluginModels.Remove(pluginModel); } if (connectorModel != null) { workspaceModel.AllConnectorModels.Remove(connectorModel); } if (connectionModel != null) { workspaceModel.AllConnectionModels.Remove(connectionModel); } if (textModel != null) { workspaceModel.AllTextModels.Remove(textModel); } if (imageModel != null) { workspaceModel.AllImageModels.Remove(imageModel); } workspaceModel.OnDeletedChildElement(visualElementModel); } }