private void readProjectList() throws IOException {
projectListSize = readIntegerValue();
List<Project> projectList = new ArrayList<Project>(projectListSize);
projectFileMap = new LinkedHashMap<Project, File>(projectListSize);
for (int i = 0; i < projectListSize; i++) {
Project project = new Project();
project.setId(projectId);
project.setReleaseDate(readIntegerValue());
project.setCriticalPathDuration(readIntegerValue());
File projectFile = new File(inputFile.getParentFile(), readStringValue());
if (!projectFile.exists()) {
throw new IllegalArgumentException("The projectFile (" + projectFile + ") does not exist.");
}
projectFileMap.put(project, projectFile);