public void handle(DragEvent event) {
				/* data is dragged over the target */
				/*
				 * accept it only if it is not dragged from the same node and if
				 * it has a string data
				 */
				Dragboard db = event.getDragboard();
				if (event.getGestureSource() != line2_pk3 && db.hasString()) {
					ch.hockman.model.team.LineUp lineUp = HockmanMain.lineupTeam
							.getLineUp();
					String playerStr = db.getString();
					
					// drag&drop does not work on Ubuntu with Oracle VM 7u9
					//TODO remove this workaround as soon as the bug is fixed in JVM for Linux
					playerStr = dragStringWorkaround;

					int i = Integer.parseInt(playerStr);

					if (i >= 0) {
						Player player = HockmanMain.lineupTeam.getTeamPlayer(i);
						boolean accept = (lineUp.getPk3().d21 == null
								|| lineUp.getPk3().d22 == null || lineUp.getPk3().f2 == null)
								&& lineUp.getPk3().d21 != player
								&& lineUp.getPk3().d22 != player
								&& lineUp.getPk3().f2 != player
								&& lineUp.getG().goal1 != player
								&& lineUp.getG().goal2 != player
								&& HockmanMain.lineupTeam.checkForeigners(
										player, HockmanMain.game.getLeague()
												.getModus().maxNofForeigners());
						if (accept) {
							/*
							 * allow for both copying and moving, whatever user
							 * chooses
							 */
							event.acceptTransferModes(TransferMode.COPY_OR_MOVE);
						}
					}
				}
				event.consume();
			}