### Question:
GoogleMapsGeocoder extends Geocoder { public GeocodeResponse response2Graph(InputStream apply) throws RemoteGeocodeException { ObjectMapper mapper = new ObjectMapper(); mapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES); final GeocodeResponse graph; try { graph = Preconditions.checkNotNull(mapper.readValue(apply, GeocodeResponse.class)); apply.close(); } catch (IOException e) { throw new RuntimeException("error parsing response from ", e); } if (!isValidStatus(graph.status)) { throw new RemoteGeocodeException("an error occurred while querying", graph.status, graph.errorMessage); } return graph; } GoogleMapsGeocoder(String language);  GoogleMapsGeocoder(String language, boolean forceHttps); @Override GeocodeResponse query(String address, int maxResults); @Override GeocodeResponse getFromLocation(double latitude, double longitude); GeocodeResponse response2Graph(InputStream apply);  }### Answer:
@Test public void testCoding() throws IOException, RemoteGeocodeException { final InputStream stream = Preconditions.checkNotNull(getClass().getResourceAsStream("/ungargasse.json")); GeocodeResponse response = new GoogleMapsGeocoder("en").response2Graph(stream); assertEquals("Ungargasse 6, 1030 Vienna, Austria", response.results.get(0).formattedAddress); }
@Test public void testPostcode() throws IOException, RemoteGeocodeException { final InputStream stream = Preconditions.checkNotNull(getClass().getResourceAsStream("/exampleWithPostcode.json")); new GoogleMapsGeocoder("en").response2Graph(stream); }