public Transition modifyTransition(Transition transition, TableModel model) {
		TMTransition t = (TMTransition) transition;
		try {
			String[] reads = new String[machine.tapes()];
			String[] writes = new String[machine.tapes()];
			String[] dirs = new String[machine.tapes()];
			for (int i = 0; i < machine.tapes(); i++) {
				reads[i] = (String) model.getValueAt(i, 0);
				writes[i] = (String) model.getValueAt(i, 1);
				dirs[i] = (String) model.getValueAt(i, 2);
			}
			TMTransition newTrans = new TMTransition(t.getFromState(), t
					.getToState(), reads, writes, dirs);
			if (transition instanceof TMTransition) {
				TMTransition oldTrans = (TMTransition) transition;
				newTrans.setBlockTransition(oldTrans.isBlockTransition());
			}
			return newTrans;
		} catch (IllegalArgumentException e) {
			reportException(e);
			return null;
		}
	}