public void create() {
		synchronized (polls) {
			runningId++;
			id = runningId;
			polls.put(id, this);
		}

		Popup popup = new Popup(
				"Umfrage",
				String.format("Umfrage #%s", id),
				String.format(
						"%s§##Unter allen Teilnehmern werden 5 Knuddels verlost.",
						question), 400, 300);
		Panel panel = new Panel();

		for (String answer : answers) {
			Button button = new Button(answer);
			button.enableAction();
			panel.addComponent(button);
		}

		popup.addPanel(panel);
		popup.setOpcode(ReceiveOpcode.POLL.getValue(), String.valueOf(id));
		String poll = popup.toString();

		for (Client client : Server.get().getClients()) {
			client.send(poll);
		}

		new Timer().schedule(new TimerTask() {
			public void run() {
				closed = true;

				if (votes.isEmpty()) {
					return;
				}

				Object[] participants = votes.keySet().toArray();
				String winner = (String) participants[new Random()
						.nextInt(participants.length)];
				Client client = Server.get().getClient(winner);

				if (client != null) {
					client.setKnuddels(client.getKnuddels() + 5);
				}

				StringBuilder result = new StringBuilder();
				result.append(question);
				result.append("§#");

				for (String answer : answers) {
					int count = 0;

					for (String a : votes.values()) {
						if (a.equals(answer)) {
							count++;
						}
					}

					result.append("#_");
					result.append(KCodeParser.escape(answer));
					result.append(":_ ");
					result.append(count);
				}

				result.append(String
						.format("##...und gewonnen hat _°B>_h%s|/serverpp \"|/w \"<r°_!",
								winner));
				String popup = Popup.create("Umfrage",
						String.format("Umfrage #%s - Ergebnis", id),
						result.toString(), 400, 300);

				for (Client c : Server.get().getClients()) {
					c.send(popup);
				}
			}
		}, 60 * 1000);
	}