public Address(string streetAddress, string city, string state, string zipCode, string county, Geocode geocode, bool unknown)
 {
     StreetAddress = streetAddress;
     if(!unknown)
     {
         State = new State(state);
         City = CityList.GetCity(city, State);
         ZipCode = ZipCodeList.GetZipCode(zipCode);
         County = CountyList.GetCounty(county, State);
         Geocode = geocode;
     }
 }
 public County(string name, State state, Geocode geocode)
 {
     Name = name;
     State = state;
     Geocode = geocode;
 }
 public static bool IsCity(string city, State state)
 {
     return CityLookup.ContainsKey(new KeyValuePair<string, string>(city, state.Abbreviation));
 }
 public static City GetCity(string city, State state)
 {
     return CityLookup[new KeyValuePair<string, string>(city, state.Abbreviation)];
 }
 public bool Equals(State other)
 {
     if (ReferenceEquals(null, other)) return false;
     if (ReferenceEquals(this, other)) return true;
     return Equals(other._name, _name);
 }