private ConfigurationAreaChangeInformation[] parseConfigurationChanges() throws SAXException, InterruptedException {

		final List<ConfigurationAreaChangeInformation> areaChangeInformations = new LinkedList<ConfigurationAreaChangeInformation>();

		while(_xmlStream.matchStartElement("konfigurationsAenderung")) {
			// Startelement
			final AttributeMap attributes = _xmlStream.pullStartElement().getAttributes();

			// Elemente auslesen, dies ist Text. Es wird solange alles eingelesen, bis das Endetag </konfigurationsAenderung> auftaucht
			final StringBuilder textBuffer = new StringBuilder();
			while(true) {
				if(_xmlStream.matchStartElement()) {
					StartElementEvent startElementEvent = _xmlStream.pullStartElement();
					textBuffer.append("<" + startElementEvent.getLocalName());
					final AttributeMap attributeMap = startElementEvent.getAttributes();
					if(attributeMap.size() > 0) {
						// Es gibt Attribute
						String attributeNames[] = attributeMap.getNames();
						for(int nr = 0; nr < attributeNames.length; nr++) {
							textBuffer.append(" " + attributeNames[nr] + "=\"" + attributeMap.getValue(attributeNames[nr]) + "\"");
						}
					}
					textBuffer.append(">");
				}
				else if(_xmlStream.matchCharacters()) {
					String text = _xmlStream.pullCharacters().getText();
//					text = Pattern.compile("\n").matcher(text).replaceAll("");
//					text = Pattern.compile("  ").matcher(text).replaceAll("");
//					System.out.println("geparster Text:" + text + ":Ende");
					textBuffer.append(text);
				}
				else if(_xmlStream.matchEndElement()) {
					if(_xmlStream.matchEndElement("konfigurationsAenderung")) {
						break;
					}
					else {
						// Ein anderes EndTag gelesen
						textBuffer.append("</" + _xmlStream.pullEndElement().getLocalName() + ">");
					}
				}
			}
			// Ende konfigurationsAenderung
			_xmlStream.pullEndElement();

			// Es stehen alle Informationen zur Verfügung um ein Objekt zu erzeugen
			areaChangeInformations.add(
					new ConfigurationAreaChangeInformation(
							attributes.getValue("stand"),
							attributes.getValue("version"),
							attributes.getValue("autor"),
							attributes.getValue("grund"),
							textBuffer.toString()
					)
			);
		}// while

		return areaChangeInformations.toArray(new ConfigurationAreaChangeInformation[areaChangeInformations.size()]);
	}