public synchronized void forward(int gameID, String data) {
    // hier wird der String in seine Einzelteile zerlegt
    // (Zieladresse, Name, Nachricht)
    try {
      StringTokenizer ST = new StringTokenizer(data);
      String player = ST.nextToken();
      String name = ST.nextToken();
      String msg = data.substring(name.length() + player.length() + 2);
      int target = Integer.parseInt(player);

      // suche passendes Game-Objekt und sende die Nachricht an den Empfaenger
      for (int i = 0; i < games.size(); i++) {
        Game game = (Game) games.elementAt(i);

        if (game.getNameOfTheGame().equals(name) && gameID == game.getGameID()) {
          if (target != -1) {
            ServerThread recipient = ((ServerThread) game.getPlayers().elementAt(target));
            recipient.send("1" + msg);
          } else {
            // falls nachricht an server gerichtet ist (player "-1", nachricht "go"),
            // teile mit, dass das Spiel gestartet werden kann
            if (msg.equals("go")) {
              game.start();
            }

          }

        }

      }

    } catch (NoSuchElementException e) {
      String log = "server: corrupt message in method forward!\n";
      System.out.print(log);
      log(log, port);
    }
  }