public void appStarting(final Project projectFromCommandLine) {
   if (projectFromCommandLine != null) return;
   GeneralSettings generalSettings = GeneralSettings.getInstance();
   if (generalSettings.isReopenLastProject()) {
     List<String> openPaths;
     synchronized (myStateLock) {
       openPaths = ContainerUtil.newArrayList(myState.openPaths);
     }
     if (!openPaths.isEmpty()) {
       for (String openPath : openPaths) {
         if (isValidProjectPath(openPath)) {
           doOpenProject(openPath, null, true);
         }
       }
     } else {
       String lastProjectPath = getLastProjectPath();
       if (lastProjectPath != null) {
         if (isValidProjectPath(lastProjectPath)) doOpenProject(lastProjectPath, null, false);
       }
     }
   }
 }