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);
       }
     }
   }
 }
 public void appFrameCreated(
     final String[] commandLineArgs, @NotNull final Ref<Boolean> willOpenProject) {
   if (GeneralSettings.getInstance().isReopenLastProject() && getLastProjectPath() != null) {
     willOpenProject.set(Boolean.TRUE);
   }
 }