@Override
 public void stop(boolean force) {
   MessagingServerDelegate serverDelegate = null;
   try {
     serverDelegate =
         (MessagingServerDelegate)
             getServer().loadAdapter(MessagingServerDelegate.class, new NullProgressMonitor());
     IConnection connection =
         serverDelegate.getServerConfiguration().getProvider().getConnection();
     connection.closeConnection();
     getServer().stop(true);
     setState(IServer.STATE_STOPPED);
     System.out.println("[*] Server Stopped");
   } catch (Throwable e) {
     e.printStackTrace();
     if (serverDelegate != null) {
       setState(IServer.STATE_STOPPED);
     }
   }
 }