private static IPlace GetPlace(IConnector connector, IDictionary <long, IPlace> cache) { IPlace instance; if (cache.ContainsKey(connector.Id)) { instance = cache[connector.Id]; } else { instance = connector.CreateInstance(); cache[connector.Id] = instance; } return(instance); }