* @param elements Elemente der Definition eines System-Objekts
	 */
	void fillData(Data data, DatasetElement[] elements) {
		for(int i = 0; i < elements.length; i++) {
			DatasetElement datasetElement = elements[i];

			if(datasetElement instanceof ConfigurationData) {
				ConfigurationData configurationData = (ConfigurationData)datasetElement;
				try {
					Data item;
					if(configurationData.getName().equals("-")) {
						item = data.getItem(String.valueOf(i));
					}
					else {
						item = data.getItem(configurationData.getName());
					}
					String value = configurationData.getValue();
					if(item.getAttributeType() instanceof ReferenceAttributeType) {
						value = value.trim();
						final String pid;
						if(value.equals("0") || value.equals("null") || value.equals("undefiniert")) {
							pid = "";
						}
						else {
							pid = value;
						}
						try {
							item.asReferenceValue().setSystemObjectPid(pid, this);
						}
						catch(RuntimeException e) {
							throw new IllegalStateException("Das im Attribut " + item.getName() + " referenzierte Objekt mit der Pid '" + pid + "' ist weder ein aktuelles noch ein gerade importiertes Objekt.", e);
						}
					}
					else {
						item.asTextValue().setText(value);
					}
				}
				catch(IllegalArgumentException ex) {
					String errorMessage = "Ein Fehler ist beim Datensatz " + configurationData.getName() + " aufgetreten";
//					_debug.error(errorMessage, ex.getMessage());
					throw new IllegalArgumentException(errorMessage, ex);
				}
			}
			else if(datasetElement instanceof ConfigurationDataList) {
				ConfigurationDataList dataList = (ConfigurationDataList)datasetElement;
				Data item;
				if(dataList.getName().equals("-")) {
					item = data.getItem(String.valueOf(i));
				}
				else {
					item = data.getItem(dataList.getName());
				}
				fillData(item, dataList.getDataAndDataListAndDataField());
			}
			else if(datasetElement instanceof ConfigurationDataField) {
				ConfigurationDataField dataField = (ConfigurationDataField)datasetElement;
				// Größe des Arrays beachten
				Data item = data.getItem(dataField.getName());
				item.asArray().setLength(dataField.getDataAndDataList().length);
				fillData(item, dataField.getDataAndDataList());
			}
		}
	}