public void updateLastProjectPath() { final Project[] openProjects = ProjectManager.getInstance().getOpenProjects(); synchronized (myStateLock) { if (openProjects.length == 0) { myState.lastPath = null; myState.openPaths = Collections.emptyList(); } else { myState.lastPath = getProjectPath(openProjects[openProjects.length - 1]); myState.openPaths = new ArrayList<String>(); for (Project openProject : openProjects) { final String path = getProjectPath(openProject); ContainerUtil.addIfNotNull(myState.openPaths, path); myState.names.put(path, getProjectDisplayName(openProject)); } } } }