### Question:
GitConfigSourceBuilder extends AbstractConfigSourceBuilder<GitConfigSourceBuilder, GitConfigSourceBuilder.GitEndpoint> implements Builder<GitConfigSource>,
                   PollableSource.Builder<GitConfigSourceBuilder>,
                   ParsableSource.Builder<GitConfigSourceBuilder> { public GitConfigSourceBuilder directory(Path directory) { this.directory = directory; return this; } GitConfigSourceBuilder(); GitConfigSourceBuilder path(String path); @Override GitConfigSource build(); @Override GitConfigSourceBuilder config(Config metaConfig); @Override GitConfigSourceBuilder parser(ConfigParser parser); @Override GitConfigSourceBuilder mediaType(String mediaType); @Override GitConfigSourceBuilder pollingStrategy(PollingStrategy pollingStrategy); GitConfigSourceBuilder branch(String branch); GitConfigSourceBuilder directory(Path directory); GitConfigSourceBuilder uri(URI uri); GitConfigSourceBuilder credentials(String user, String password); GitConfigSourceBuilder credentialsProvider(CredentialsProvider credentialsProvider);  }### Answer:
@Test public void testDirectory() throws IOException, GitAPIException, InterruptedException, Exception { File tempDir = folder.newFolder(); try (Git clone = Git.cloneRepository() .setURI(fileUri()) .setDirectory(tempDir) .call(); GitConfigSource source = GitConfigSource .builder() .path("application.properties") .directory(tempDir.toPath()) .parser(ConfigParsers.properties()) .build()) { source.init(null); assertThat(tempDir.toPath().resolve("application.properties").toFile().exists(), is(true)); } }