//---------------------------------------------------------------------- private static IntSet <PartyId> SearchByPostalCode( Timer t, AddressParserResult searchLocale, int desiredResultCount, int maxResultCount, double nonGeoMatchAbsDensity, out Location centroid, out double?maxRadiusMi) { maxRadiusMi = null; if (desiredResultCount == ExactMatchResultCount) { IntSet <PartyId> partiesInPostalCode = null; t.Measure("Search by PostalCode", delegate() { partiesInPostalCode = Snap.Cache.Cache.PostalCode(searchLocale.PostalCode); }); centroid = null; return(partiesInPostalCode); } else { IGeoCoder geocoder = GeoCoderFactory.CreateGeoCoder(); centroid = geocoder.GeoCodeZip(searchLocale.PostalCode); return(SearchNearLocation( t, desiredResultCount, centroid, nonGeoMatchAbsDensity, out maxRadiusMi)); } }