protected TableModel createModel(Transition transition) {
		final TMTransition t = (TMTransition) transition;
		return new AbstractTableModel() {
			public Object getValueAt(int row, int column) {
				return s[row][column];
			}

			public void setValueAt(Object o, int r, int c) {
				s[r][c] = (String) o;
			}

			public boolean isCellEditable(int r, int c) {
				if (!blockTransition)
					return true;
				else if (c == 0)
					return true;
				else
					return false;
			}

			public int getRowCount() {
				return machine.tapes();
			}

			public int getColumnCount() {
				if (!blockTransition)
					return 3;
				else
					return 1;

			}

			public String getColumnName(int c) {
				return name[c];
			}

			String s[][] = arraysForTransition(t);

			String name[] = { "Read", "Write", "Direction" };
		};
	}