private GeneratorItemBase GetItemGenerator(IDictionary <string, GeneratorItemBase> itemGenerators, ItemSourceModel sourceModel) { if (!itemGenerators.ContainsKey(sourceModel.Name)) { var instance = _generatorItemFactory.GetInstance(sourceModel.Type); itemGenerators[sourceModel.Name] = instance; } var result = itemGenerators[sourceModel.Name]; if (result.Rnd == null) { result.Rnd = _rnd; } return(result); }
public abstract object Generate(ItemSourceModel model);