Code review comment: if the user wants delegation then its the current `new MavenLocalRepositoryManager(                     repoSystem.newLocalRepositoryManager(newSession, new LocalRepository(builder.repoHome.toString())),                     Paths.get(MavenRepoInitializer.getLocalRepo(MavenRepoInitializer.getSettings())));`

Code before review:
private MavenArtifactResolver(Builder builder) throws AppModelResolverException {
this.repoSystem = builder.repoSystem == null ? MavenRepoInitializer.getRepositorySystem(
(builder.offline == null
? (builder.repoSession == null ? MavenRepoInitializer.getSettings().isOffline()
: builder.repoSession.isOffline())
: builder.offline),
builder.workspace) : builder.repoSystem;
final DefaultRepositorySystemSession newSession = builder.repoSession == null ? MavenRepoInitializer.newSession(repoSystem) : new DefaultRepositorySystemSession(builder.repoSession);
if(builder.offline != null) {
newSession.setOffline(builder.offline);
}
if(builder.repoHome != null) {
final MavenLocalRepositoryManager appCreatorLocalRepoManager = new MavenLocalRepositoryManager(
repoSystem.newLocalRepositoryManager(newSession, new LocalRepository(builder.repoHome.toString())),
builder.localRepoHome==null ? Paths.get(MavenRepoInitializer.getLocalRepo(MavenRepoInitializer.getSettings())) : builder.localRepoHome);
newSession.setLocalRepositoryManager(appCreatorLocalRepoManager);
localRepoManager = appCreatorLocalRepoManager;
} else {
localRepoManager = null;
}
if(newSession.getCache() == null) {
newSession.setCache(new DefaultRepositoryCache());
}
if (builder.workspace != null) {
newSession.setWorkspaceReader(builder.workspace);
}
this.repoSession = newSession;
this.remoteRepos = builder.remoteRepos == null ? MavenRepoInitializer.getRemoteRepos(this.repoSystem, this.repoSession) : builder.remoteRepos;
final DefaultRemoteRepositoryManager remoteRepoManager = new DefaultRemoteRepositoryManager();
remoteRepoManager.initService(MavenRepositorySystemUtils.newServiceLocator());
this.remoteRepoManager = remoteRepoManager;
}

Line under review: builder.localRepoHome==null ? Paths.get(MavenRepoInitializer.getLocalRepo(MavenRepoInitializer.getSettings())) : builder.localRepoHome);

Code after addressing the review:
private MavenArtifactResolver(Builder builder) throws AppModelResolverException {
this.repoSystem = builder.repoSystem == null ? MavenRepoInitializer.getRepositorySystem(
(builder.offline == null
? (builder.repoSession == null ? MavenRepoInitializer.getSettings().isOffline()
: builder.repoSession.isOffline())
: builder.offline),
builder.workspace) : builder.repoSystem;
final DefaultRepositorySystemSession newSession = builder.repoSession == null ? MavenRepoInitializer.newSession(repoSystem) : new DefaultRepositorySystemSession(builder.repoSession);
if(builder.offline != null) {
newSession.setOffline(builder.offline);
}
MavenLocalRepositoryManager lrm = null;
if (builder.repoHome != null) {
if (builder.reTryFailedResolutionsAgainstDefaultLocalRepo) {
lrm = new MavenLocalRepositoryManager(
repoSystem.newLocalRepositoryManager(newSession, new LocalRepository(builder.repoHome.toString())),
Paths.get(MavenRepoInitializer.getLocalRepo(MavenRepoInitializer.getSettings())));
newSession.setLocalRepositoryManager(lrm);
} else {
newSession.setLocalRepositoryManager(
repoSystem.newLocalRepositoryManager(newSession, new LocalRepository(builder.repoHome.toString())));
}
}
localRepoManager = lrm;
if(newSession.getCache() == null) {
newSession.setCache(new DefaultRepositoryCache());
}
if (builder.workspace != null) {
newSession.setWorkspaceReader(builder.workspace);
}
this.repoSession = newSession;
this.remoteRepos = builder.remoteRepos == null ? MavenRepoInitializer.getRemoteRepos(this.repoSystem, this.repoSession) : builder.remoteRepos;
final DefaultRemoteRepositoryManager remoteRepoManager = new DefaultRemoteRepositoryManager();
remoteRepoManager.initService(MavenRepositorySystemUtils.newServiceLocator());
this.remoteRepoManager = remoteRepoManager;
}