### Question:
ResoClientImpl implements ResoClient { protected URI buildFinalURI(String request) { try { String query = ""; String finalUrl = baseRequestUrl; if (!finalUrl.endsWith("/")) finalUrl += "/"; if (request.startsWith("/")) request = request.substring(1); if (request.contains("?")) { int idx = request.indexOf("?"); finalUrl += request.substring(0, idx); query = request.substring(idx+1); } else { finalUrl += request; } URIBuilder uri = new URIBuilder(finalUrl); if (!query.isEmpty()) { List<NameValuePair> finalParams = URLEncodedUtils.parse(query, Charset.forName("UTF-8")); finalParams.stream().forEach(param -> { uri.addParameter(param.getName(), param.getValue()); }); } return uri.build(); } catch (URISyntaxException e) { throw new IllegalArgumentException("Unable to build final request URI from request: " + request); } } ResoClientImpl(
			final String baseRequestUrl,
			final TokenStore tokenStore); @Override String getMetadata(ResponseFormat format); @Override String get(String request, ResponseFormat format); @Override String post(String request, Map<String, String> parameters, ResponseFormat format);  }### Answer:
@Test public void testBuildFinalURI() { URI uri = client.buildFinalURI("Property?$top=4&$select=ListingKey,BedroomsTotal,OwnerName,ListingContractDate,ModificationTimestamp,StandardStatus,PropertyType,Location&$filter=BedroomsTotal eq 2 and PropertyType eq 'Residential'"); assertEquals("Wrong URI value", "https: uri = client.buildFinalURI("Property"); assertEquals("Wrong URI value", "https: uri = client.buildFinalURI("/Property"); assertEquals("Wrong URI value", "https: }