@Override
  protected void init() {
    super.init();

    if (process.isTerminated()) {
      if (shellConnection != null) {
        try {
          shellConnection.disconnect();
        } catch (final IOException e) {
          KarafUIPluginActivator.getLogger().error("Unable to disconnect from SSH server", e);
        }
      }
    } else {
      DebugPlugin.getDefault().addDebugEventListener(this);
    }
  }
  @Override
  public void handleDebugEvents(final DebugEvent[] events) {
    for (final DebugEvent event : events) {
      if (event.getSource().equals(process)) {
        if (event.getKind() == DebugEvent.TERMINATE) {
          if (shellConnection != null) {
            try {
              shellConnection.disconnect();
            } catch (final IOException e) {
              KarafUIPluginActivator.getLogger().error("Unable to disconnect from SSH server", e);
            }
          }
          DebugPlugin.getDefault().removeDebugEventListener(this);

          resetName();
        }
      }
    }
  }