public static TagViewModelBase CreateFromData(TagBase tag) { foreach (var factory in s_factories) { var viewModel = factory(tag); if (viewModel != null) { return(viewModel); } } throw new NotImplementedException($"No Tag view model has been registered for '{tag.GetType().Name}'."); }