public void closeFrontmostSession() {
    JInternalFrame[] frames = desktopPane.getAllFramesInLayer(0);

    if (frames.length > 0) {
      frames[0].dispose();
      Map<SessionEditor, JInternalFrame> framesMap = this.framesMap;
      for (Iterator<SessionEditor> i = framesMap.keySet().iterator(); i.hasNext(); ) {
        SessionEditor key = i.next();
        JInternalFrame value = framesMap.get(key);
        if (value == frames[0]) {
          i.remove();
          break;
        }
      }
    }
  }