### Question:
GitClient { public String fetch(String uri, String branch, String commitId, Secret secret, Path dest) { return fetch(uri, branch, commitId, true, secret, false, dest); } GitClient(GitClientConfiguration cfg); RepositoryInfo getInfo(Path path); String fetch(String uri, String branch, String commitId, Secret secret, Path dest); String fetch(String uri, String branch, String commitId, boolean detached, Secret secret, boolean checkRemoteCommitId, Path dest);  }### Answer:
@Test public void testFetchWithSubmodules() throws Exception { String branch = "master"; String commitId = null; Secret secret = null; try (TemporaryPath repoPath = IOUtils.tempDir("git-client-test")) { client.fetch(HTTPS_SUBMODULE_REPO_URL, branch, commitId, secret, repoPath.path()); assertEquals("master", new String(Files.readAllBytes(repoPath.path().resolve("test"))).trim()); assertEquals("master", new String(Files.readAllBytes(repoPath.path().resolve("concord_poc").resolve("test"))).trim()); } }