private void doSwitchScreen(long projectId, String screenName, View view) {
   if (!projectMap.containsKey(projectId)) {
     OdeLog.wlog(
         "DesignToolbar: no project with id "
             + projectId
             + ". Ignoring SwitchScreenAction.execute().");
     return;
   }
   DesignProject project = projectMap.get(projectId);
   if (currentProject != project) {
     // need to switch projects first. this will not switch screens.
     if (!switchToProject(projectId, project.name)) {
       return;
     }
     // currentProject == project now
   }
   String newScreenName = screenName;
   if (!currentProject.screens.containsKey(newScreenName)) {
     // Can't find the requested screen in this project. This shouldn't happen, but if it does
     // for some reason, try switching to Screen1 instead.
     OdeLog.wlog(
         "Trying to switch to non-existent screen "
             + newScreenName
             + " in project "
             + currentProject.name
             + ". Trying Screen1 instead.");
     if (currentProject.screens.containsKey(YoungAndroidSourceNode.SCREEN1_FORM_NAME)) {
       newScreenName = YoungAndroidSourceNode.SCREEN1_FORM_NAME;
     } else {
       // something went seriously wrong!
       ErrorReporter.reportError(
           "Something is wrong. Can't find Screen1 for project " + currentProject.name);
       return;
     }
   }
   currentView = view;
   Screen screen = currentProject.screens.get(newScreenName);
   ProjectEditor projectEditor = screen.formEditor.getProjectEditor();
   currentProject.setCurrentScreen(newScreenName);
   setDropDownButtonCaption(WIDGET_NAME_SCREENS_DROPDOWN, newScreenName);
   OdeLog.log("Setting currentScreen to " + newScreenName);
   if (currentView == View.FORM) {
     projectEditor.selectFileEditor(screen.formEditor);
     toggleEditor(false);
   } else { // must be View.BLOCKS
     projectEditor.selectFileEditor(screen.blocksEditor);
     toggleEditor(true);
   }
   // Inform the Blockly Panel which project/screen (aka form) we are working on
   BlocklyPanel.setCurrentForm(projectId + "_" + newScreenName);
   updateButtons();
 }