### Question:
RouterPathLookup extends AbstractHttpHandler { @VisibleForTesting static boolean endsWith(String[] actual, String ... expected) { return matches(actual, expected, true); }  @Nullable RouteDestination getRoutingService(String requestPath, HttpRequest httpRequest); static final RouteDestination APP_FABRIC_HTTP; static final RouteDestination METRICS; static final RouteDestination DATASET_MANAGER; static final RouteDestination METADATA_SERVICE; static final RouteDestination EXPLORE_HTTP_USER_SERVICE; static final RouteDestination PREVIEW_HTTP; static final RouteDestination TRANSACTION; static final RouteDestination LOG_QUERY; static final RouteDestination LOG_SAVER; static final RouteDestination METRICS_PROCESSOR; static final RouteDestination DATASET_EXECUTOR; static final RouteDestination MESSAGING; static final RouteDestination RUNTIME; static final RouteDestination DONT_ROUTE; }### Answer:
@Test public void testEndsWith() { Assert.assertFalse(RouterPathLookup.endsWith(new String[]{"a", "b", "c"}, "a", "b", "c", "d")); Assert.assertTrue(RouterPathLookup.endsWith(new String[]{"a", "b", "c"}, "b", "c")); Assert.assertFalse(RouterPathLookup.endsWith(new String[]{"a", "b", "c"}, "a", "b")); Assert.assertTrue(RouterPathLookup.endsWith(new String[]{"a", "b", "c"}, "a", "b", null)); Assert.assertFalse(RouterPathLookup.endsWith(new String[]{"a", "b", "c", "d"}, "a", "b", null)); }