public void run() {
   while (!stop) {
     bearbeiteLoeschQueue();
     bearbeiteAenderQueue();
     try {
       bearbeitePushQueue();
     } catch (ExceptionAutorisierung e1) {
       Log.writeError(e1, this.getClass());
     }
     pushListeAbarbeitung();
     try {
       Thread.sleep(pause);
     } catch (InterruptedException e) {
       /*
        * new ExceptionJavaMuss(e,
        * "Fred in der Queue Abarbeitung wurde aufgewacht",
        * Level.FINE);
        */
       new ExceptionJavaMuss("Fred in der Queue Abarbeitung wurde aufgewacht", this.getClass());
     }
     TafelServerInterface verbindung = getVerbindungNaechsterServer();
     if (verbindung != null) {
       tafelServer
           .getAnzeigeTafel()
           .setGesamtNachrichtenListe(
               ListToArray.getListNachricht(verbindung.getGesamtNachrichtenListe()));
     }
   }
 }
 /**
  * Diese Methode prüft, ob die Queue zum Ändern von Nachrichten Einträge
  * enthält. Ist das der Fall versucht sie bei einer stehenden Verbindung zum nächsten
  * Server die Queue abzuarbeiten und das &Auml,ndern der Nachricht zu pushen.
  */
 private void bearbeiteAenderQueue() {
   if (queues.getAenderQueue().size() <= 0) {
     return;
   }
   TafelServerInterface verbindung = getVerbindungNaechsterServer();
   if (verbindung != null) {
     for (Nachricht nachricht : queues.getAenderQueue()) {
       verbindung.pushAendereNachricht(nachricht);
     }
   }
 }
 /**
  * Diese Methode pr&uuml;ft, ob die Queue zum L&ouml;schen von Nachrichten Eintr&auml;ge
  * enth&auml;lt. Ist das der Fall versucht sie bei einer stehenden Verbindung zum n&auml;chsten
  * Server die Queue abzuarbeiten und das L&ouml,schen der Nachricht zu pushen.
  */
 private void bearbeiteLoeschQueue() {
   if (queues.getLoeschQueue().size() <= 0) {
     return;
   }
   TafelServerInterface verbindung = getVerbindungNaechsterServer();
   if (verbindung != null) {
     for (UUID id : queues.getLoeschQueue()) {
       verbindung.pushLoescheNachricht(id);
     }
   }
 }
 // TODO keine Ahnung, ob die Methode so funktioniert
 private void pushListeAbarbeitung() {
   if (queues.getNachrichtenListe() == null) {
     return;
   }
   for (UUID id : tafelServer.getAnzeigeTafel().getUntereServer()) {
     TafelServerInterface verbindung = tafelServer.getListeServerVerbindungen().get(id);
     if (verbindung != null) {
       verbindung.pushNachrichtenListe(
           ListToArray.getArrayNachricht(queues.getNachrichtenListe()));
     }
   }
   queues.setNachrichtenListe(null);
 }
 /**
  * Diese Methode pr&uuml;ft, ob in der Queue f&uuml;r die zu pushenden Nachricht Eintr&auml;ge
  * vorhanden sind. Ist das Fall wird die Liste bei einer bestehenden Verbindung zum n&auml;chsten
  * Server abgearbeitet.
  *
  * @throws ExceptionAutorisierung
  */
 private void bearbeitePushQueue() throws ExceptionAutorisierung {
   if (queues.getPushQueue().size() <= 0) {
     return;
   }
   TafelServerInterface verbindung = getVerbindungNaechsterServer();
   System.out.println("Verbindung Tafel: " + verbindung);
   if (verbindung != null) {
     for (Nachricht nachricht : queues.getPushQueue()) {
       verbindung.addNachricht(nachricht);
       queues.getPushQueue().remove(nachricht);
     }
   }
 }