public void stopNode(NodeComponent node) {
public void stopNode(String nodeName) {
  public void stopNode(NodeComponent node) {    boolean doAbort = false;    synchronized (runningNodesLock) {      if (runningNodes.size() == 1)        doAbort = true;    } // end synchronized    if (doAbort) {      abortButton_actionPerformed();      return;    }    RemoteProcess remoteNode;    synchronized (runningNodesLock) {      remoteNode = (RemoteProcess)runningNodes.get(node);    } // end synchronized    if (remoteNode == null)      return;    try {      remoteNode.getRemoteListenable().flushOutput();      remoteNode.destroy();    } catch (Exception ex) {      if(log.isErrorEnabled()) {        log.error("Unable to destroy node, assuming it's dead: ", ex);      }      // call the method that would have been called when the       // ConsoleNodeListener received the node destroyed confirmation      nodeStopped(node);       getNodeStatusButton(node.getShortName()).setStatus(NodeStatusButton.STATUS_NO_ANSWER);    }  }