### Question:
RouterPathLookup extends AbstractHttpHandler { @VisibleForTesting static boolean beginsWith(String[] actual, String ... expected) { return matches(actual, expected, false); }  @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 testBeginsWith() { Assert.assertTrue(RouterPathLookup.beginsWith(new String[] { })); Assert.assertTrue(RouterPathLookup.beginsWith(new String[] { "a" })); Assert.assertFalse(RouterPathLookup.beginsWith(new String[] { }, "a")); Assert.assertFalse(RouterPathLookup.beginsWith(new String[] { }, (String) null)); Assert.assertFalse(RouterPathLookup.beginsWith(new String[] { "a" }, "a", "b")); Assert.assertFalse(RouterPathLookup.beginsWith(new String[] { "a" }, null, null)); Assert.assertTrue(RouterPathLookup.beginsWith(new String[] { "a", "b" }, "a", "b")); Assert.assertTrue(RouterPathLookup.beginsWith(new String[] { "a", "b", "c" }, "a", "b")); Assert.assertTrue(RouterPathLookup.beginsWith(new String[] { "a", "b" }, null, "b")); Assert.assertTrue(RouterPathLookup.beginsWith(new String[] { "a", "b" }, "a", null)); Assert.assertTrue(RouterPathLookup.beginsWith(new String[] { "a", "b", "c" }, "a", null)); Assert.assertFalse(RouterPathLookup.beginsWith(new String[]{ "a", "b", "c"}, "b", "c")); Assert.assertFalse(RouterPathLookup.beginsWith(new String[]{"a", "b", "c", "d"}, null, "c", "d")); }