public void nodeStopped(NodeComponent nodeComponent) {
public void nodeStopped(String nodeName) {
  public void nodeStopped(NodeComponent nodeComponent) {    synchronized (runningNodesLock) {      if (runningNodes.get(nodeComponent) != null) {        oldNodes.add(nodeComponent);        runningNodes.remove(nodeComponent);      }    } // end synchronized    // enable restart command on node output window, only if we're not stopping    ConsoleInternalFrame frame =       desktop.getNodeFrame(nodeComponent.getShortName());    if (frame != null && !stopping)      frame.enableRestart(true);    // ignore condition in which we temporarily have     // no running nodes while starting    if (starting)       return;    // when all nodes have stopped, save results    // run the next trial and update the gui controls    boolean finishedTrial = false;    synchronized (runningNodesLock) {      if (runningNodes.isEmpty())        finishedTrial = true;    } // end synchronized    if (finishedTrial) {      stopping = false;      trialFinished();      if (haveMoreTrials()) {	if (!userStoppedTrials) {          // if the trial stopped by itself, then start the next trial	  destroyOldNodes(); // destroy old guis before starting new ones	  runTrial(); // run next trial	} else { // user stopped trials, allow them to run the next one	  runButton.setSelected(false);	}      } else { // no more trials, experiment is done	experimentFinished();      }    }  }