public LazyObject GetLazyFactoryObject(LazyObjectType name) { LazyObject noGoodSomeOne; // retrieves LazyObjectType from list via out, else creates one and adds it to list if (!this.lazyObjectList.TryGetValue(name, out noGoodSomeOne)) { noGoodSomeOne = new LazyObject { Name = name, Result = this.Result(name) }; this.lazyObjectList.Add(name, noGoodSomeOne); } return noGoodSomeOne; }