@SuppressWarnings("unchecked")
	private JPanel createPlaySelectPanel() {
		JPanel productionNamePanel = new JPanel();
		double size[][] = { { TableLayout.PREFERRED, 20, TableLayout.PREFERRED }, { 30, 30 } };
		TableLayout layout = new TableLayout(size);
		productionNamePanel.setLayout(layout);

		productionNamePanel.add(new JLabel("Bitte wählen Sie ein Stück aus:"), "0,0");

		playSelect = new JComboBox<TheaterPlay>();
		playSelect.setRenderer(new PlayComboRederer());
		for (TheaterPlay play : ShowGoDAO.getShowGo().getPlays()) {
			playSelect.addItem(play);
		}
		for (Production production : ShowGoDAO.getShowGo().getProductions()) {
			playSelect.addItem(production.getPlay());
		}

		final JButton usePlayAction = new JButton("Stück und Ensemble verwenden");
		usePlayAction.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				if (playSelect.getSelectedItem() != null) {
					TheaterPlay copy = null;
					try {
						copy = ParseUtil.copyPlay((TheaterPlay) playSelect.getSelectedItem());
					} catch (JAXBException e1) {
						log.error("", e1);
					} catch (IOException e1) {
						log.error("", e1);
					}

					if (copy == null) {
						JOptionPane.showMessageDialog(mainWindow,
								"Es ist ein Problem beim Kopieren des Stücks aufgtreten. Für weitere Informationen s. das Logfile", "Fehler",
								JOptionPane.ERROR_MESSAGE);
						return;
					}

					model.setPlay(copy);

					usePlayAction.setEnabled(false);
					playSelect.setEnabled(false);
					ensembleSelect.setEnabled(false);

					Ensemble selectedEnsemble = (Ensemble) ensembleSelect.getSelectedItem();
					CastingGenerator.generateCasting(selectedEnsemble, copy);
					castSelectionPanel = new CastSelectionPanel(mainWindow, copy.getRoles(), selectedEnsemble.getMembers(),
							"Besetzung der Darstellerrollen", false);

					editPlayPanel = new EditTheaterPlayPanel(mainWindow, copy);
					editPlayPanel.getRoleDisplay().addRoleDeleteEventListener(castSelectionPanel);
					editPlayPanel.addRoleDeleteListener(castSelectionPanel);

					nonActorSelection = createNonActorPersonAssignment();

					JPanel submitPanel = createSubmitPanel();

					add(castSelectionPanel, "1,4");
					add(nonActorSelection, "1,5");
					add(editPlayPanel, "1,6");
					add(submitPanel, "1,7");
					revalidate();
					repaint();
				}
			}
		});

		productionNamePanel.add(playSelect, "0,1,f,c");
		productionNamePanel.add(usePlayAction, "2,1,c,c");

		return productionNamePanel;
	}