public List <Tuple <PopulationDataEntry, Int32> > EntitiesWithoutGeocode() { var result = new List <Tuple <PopulationDataEntry, Int32> >(); if (_changwat != null) { PopulationDataEntry.PopulationDataEntryEvent addToResult = delegate(PopulationDataEntry value, PopulationDataEntry parent) { if (parent == null) { result.Add(Tuple.Create(value, 0)); } else { result.Add(Tuple.Create(value, parent.Geocode)); } }; _changwat.IterateEntitiesWithoutGeocode(addToResult, _changwat); foreach (PopulationDataEntry thesaban in _thesaban) { thesaban.IterateEntitiesWithoutGeocode(addToResult, _changwat); } } return(result); }