Source:
<code>private void preselectProjectNames() { final Set<String> reservedProjectNames = new HashSet<String>(); for (Entry<String, ProjectOptionComposite> entry : projectOptionComposites.entrySet()) { String projectID = entry.getKey(); ProjectOptionComposite projectOptionComposite = entry.getValue(); saros.filesystem.IProject project = session.getProject(projectID); if (project == null) continue; projectOptionComposite.setProjectName(true, project.getName()); projectOptionComposite.setEnabled(false); reservedProjectNames.add(project.getName()); } for (Entry<String, ProjectOptionComposite> entry : projectOptionComposites.entrySet()) { String projectID = entry.getKey(); ProjectOptionComposite projectOptionComposite = entry.getValue(); saros.filesystem.IProject project = session.getProject(projectID); if (project != null) continue; final String remoteProjectName = remoteProjectIdToNameMapping.get(projectID); final String desiredLocalProjectName = desiredRemoteToLocalProjectNameMapping.get(remoteProjectName); boolean existingProject = false; <START> String projectNameProposal = null; <END> if (desiredLocalProjectName != null && !reservedProjectNames.contains(desiredLocalProjectName)) { existingProject = ResourcesPlugin.getWorkspace().getRoot().getProject(desiredLocalProjectName).exists(); projectNameProposal = existingProject ? desiredLocalProjectName : null; } if (projectNameProposal == null) projectNameProposal = findProjectNameProposal(remoteProjectName, reservedProjectNames.toArray(new String[0])); projectOptionComposite.setProjectName(existingProject, projectNameProposal); reservedProjectNames.add(projectNameProposal); } }</code><technical_language>I a bit confused usage of projectOptionComposites. reservedProjectNames filled projectOptionComposites, iterate projects suggest proposals for. map projectOptionComposites contain? mapping of shared projects? I.e. names 'reserved' is a mapping for project in current session</technical_language>

Target:
private void preselectProjectNames() { final Set<String> reservedProjectNames = new HashSet<String>(); for (Entry<String, ProjectOptionComposite> entry : projectOptionComposites.entrySet()) { String projectID = entry.getKey(); ProjectOptionComposite projectOptionComposite = entry.getValue(); saros.filesystem.IProject project = session.getProject(projectID); if (project == null) continue; projectOptionComposite.setProjectName(project.getName(), true); projectOptionComposite.setEnabled(false); reservedProjectNames.add(project.getName()); } for (Entry<String, ProjectOptionComposite> entry : projectOptionComposites.entrySet()) { String projectID = entry.getKey(); ProjectOptionComposite projectOptionComposite = entry.getValue(); saros.filesystem.IProject project = session.getProject(projectID); if (project != null) continue; final String remoteProjectName = remoteProjectIdToNameMapping.get(projectID); final String desiredLocalProjectName = desiredRemoteToLocalProjectNameMapping.get(remoteProjectName); boolean existingProject = false; String projectNameProposal = null; if (desiredLocalProjectName != null && !reservedProjectNames.contains(desiredLocalProjectName)) { existingProject = ResourcesPlugin.getWorkspace().getRoot().getProject(desiredLocalProjectName).exists(); projectNameProposal = existingProject ? desiredLocalProjectName : null; } if (projectNameProposal == null) projectNameProposal = findProjectNameProposal(remoteProjectName, reservedProjectNames.toArray(new String[0])); projectOptionComposite.setProjectName(projectNameProposal, existingProject); reservedProjectNames.add(projectNameProposal); } }