static T CreateInstanceSafe <T>(ITemplate temp, string name) { if (temp == null) { throw RuntimeFailure.TemplateNotFound(name); } var result = Activation.CreateInstance <T>(); temp.Apply(result); return(result); }