/*
  * <rant>Maven core does not provide good separation between session state, i.e. caches, settings, etc, and project
  * building configuration, i.e. if dependencies should be resolve, resolution leniency, etc. On top of that, there is
  * no easy way to create new populated ProjectBuildingRequest instances. Otherwise this method would not be
  * needed.</rant>
  */
 public ProjectBuildingRequest newProjectBuildingRequest() {
   DefaultProjectBuildingRequest projectBuildingRequest = new DefaultProjectBuildingRequest();
   projectBuildingRequest.setLocalRepository(getLocalRepository());
   projectBuildingRequest.setRepositorySession(getRepositorySession());
   projectBuildingRequest.setSystemProperties(request.getSystemProperties());
   projectBuildingRequest.setUserProperties(request.getUserProperties());
   projectBuildingRequest.setRemoteRepositories(request.getRemoteRepositories());
   projectBuildingRequest.setPluginArtifactRepositories(request.getPluginArtifactRepositories());
   projectBuildingRequest.setActiveProfileIds(request.getActiveProfiles());
   projectBuildingRequest.setInactiveProfileIds(request.getInactiveProfiles());
   projectBuildingRequest.setProfiles(request.getProfiles());
   projectBuildingRequest.setProcessPlugins(true);
   projectBuildingRequest.setBuildStartTime(request.getStartTime());
   return projectBuildingRequest;
 }