public void insert(R record) {
		if(record.getId() != IIdentifiable.NEUTRAL_ID) {
			throw new IllegalArgumentException("The record '"+record.toString()+"' is already in the data model and cannot be inserted again.");
		}
		if(!this.changedRecords.contains(record)) {
			this.changedRecords.add(record);
			this.recordStatuses.put(record, RecordStatus.NEW);
			this.insertNum++;
		}
	}