public Address readAddress(JsonReader reader) throws IOException {
    String city = null;
    Number latitude = null;
    String street = null;
    Number longitude = null;
    
    reader.beginObject();
    while (reader.hasNext()) {
      String key = reader.nextName();
      if (key.equals("city")) {
        city = reader.nextString();
      } else if (key.equals("latitude")) {
        latitude = reader.nextDouble();
      } else if (key.equals("street")) {
        street = reader.nextString();
      } else if (key.equals("longitude")) {
        longitude = reader.nextDouble();
      } else {
        System.err.println("Building Address: Unknown key: "+key);
        reader.skipValue();
      }
    }
    reader.endObject();
    return new Address(city,latitude,street,longitude);
  }