private ItemTableModel(Class<T> clazz, ItemSet<T> items, ItemTablePanel<T> parent) throws Exception {
			this.clazz = clazz;
			this.items = items;
			this.columnNames = new ArrayList<ColumnDefinition>();
			this.toRemove = new ArrayList<T>();
			
			for(Field field : this.clazz.getDeclaredFields()) {
				
				if(field.isAnnotationPresent(Value.class)) {
					this.columnNames.add(new ColumnDefinition(field));
				}
			}
		}