private ConfigurationObjectProperties parseConfigurationObject() throws InterruptedException, SAXException {
		AttributeMap attributes = _xmlStream.pullStartElement().getAttributes();
		final String pid = attributes.getValue("pid");
		final String id = attributes.getValue("id");
		long idValue = 0;
		final String trimmedId = id.trim();
		if(!trimmedId.equals("")) idValue = Long.valueOf(trimmedId);
		final String name = attributes.getValue("name");
		final String type = attributes.getValue("typ");
		final SystemObjectInfo info = parseInfo();
		final ConfigurationConfigurationObject configurationObjectProperties = new ConfigurationConfigurationObject(name, pid, idValue, type, info);

		_debug.fine("+++Bearbeiten von", configurationObjectProperties);
		final List<ConfigurationObjectElements> dataSetAndObjectSet = new ArrayList<ConfigurationObjectElements>();
		// speichert alle Default-Parameter
		final List<ConfigurationDefaultParameter> defaultParameters = new ArrayList<ConfigurationDefaultParameter>();
		while(_xmlStream.matchStartElement()) {
			if(_xmlStream.matchStartElement("datensatz")) {

				final AttributeMap attributesDataset = _xmlStream.pullStartElement().getAttributes();

				// Es gibt 2 Möglichkeiten einen Datensatz zu definieren.
				// 1) Über die Pid der ATG (Attribut "pid") (veraltet)
				// 2) Über die Attribute "attributgruppe" und "aspekt" (neu)

				// Pid der Attributgruppe, dies wird in beiden Fällen benötigt, aber unterschiedlich eingelesen
				String pidDataSet = attributesDataset.getValue("attributgruppe");
				// Pid des zu nutzenden Aspekts
				String pidAspect = attributesDataset.getValue("aspekt");

				
				if("".equals(pidDataSet)) {
					// Die Attributgruppe soll über den alten Weg 1) definiert werden.
					// Der Aspekt muss nicht eingelesen werden
					pidDataSet = attributesDataset.getValue("pid");
				}

				final List<DatasetElement> dateAndDataListAndDateField = parseDatasetElements();

				// Ende für Datensatz
				_xmlStream.pullEndElement();
				final ConfigurationDataset configurationDataset = new ConfigurationDataset(pidDataSet, pidAspect);
				// eingelesene Elemente
				configurationDataset.setDataAndDataListAndDataField(dateAndDataListAndDateField.toArray(new DatasetElement[dateAndDataListAndDateField.size()]));
				// Das Element "datensatz" hinzufügen
				dataSetAndObjectSet.add(configurationDataset);
			}
			else if(_xmlStream.matchStartElement("defaultParameter")) {
				final AttributeMap defaultAttributes = _xmlStream.pullStartElement().getAttributes();
				final String pidType = defaultAttributes.getValue("typ");
				final String pidAtg = defaultAttributes.getValue("attributgruppe");

				final List<DatasetElement> dateAndDataListAndDateField = parseDatasetElements();
				// Default-Parameter-Datensatz zusammenstellen
				final ConfigurationDefaultParameter defaultParameter = new ConfigurationDefaultParameter(pidType, pidAtg);
				defaultParameter.setDataAndDataListAndDataField(dateAndDataListAndDateField.toArray(new DatasetElement[dateAndDataListAndDateField.size()]));
				defaultParameters.add(defaultParameter);
				_xmlStream.pullEndElement();
			}
			else if(_xmlStream.matchStartElement("objektMenge")) {
				final AttributeMap attributesObjectSet = _xmlStream.pullStartElement().getAttributes();
				final String nameObjectSet = attributesObjectSet.getValue("name");
				final String managementPid = attributesObjectSet.getValue("verwaltung");

				// Alle Elemente(Pids) einlesen
				final List<String> elementPids = new ArrayList<String>();

				while(_xmlStream.matchStartElement("element")) {
					final AttributeMap attributesElement = _xmlStream.pullStartElement().getAttributes();
					elementPids.add(attributesElement.getValue("pid"));
					_xmlStream.pullEndElement();
				}

				_xmlStream.pullEndElement();
				final ConfigurationObjectSet configurationObjectSet = new ConfigurationObjectSet(
						nameObjectSet, elementPids.toArray(new String[elementPids.size()]), managementPid
				);
				dataSetAndObjectSet.add(configurationObjectSet);
			}
			else {
				ignoreElementStructureAndWarn();
			}
		}
		configurationObjectProperties.setDatasetAndObjectSet(dataSetAndObjectSet.toArray(new ConfigurationObjectElements[dataSetAndObjectSet.size()]));
		configurationObjectProperties.setDefaultParameters(defaultParameters.toArray(new ConfigurationDefaultParameter[defaultParameters.size()]));

		_xmlStream.pullEndElement();
		return configurationObjectProperties;
	}