	public EnhancedXStream(boolean export) {
		super();

		if (export) {
			addDefaultImplementation(PersistentList.class, List.class);
			addDefaultImplementation(PersistentBag.class, List.class);
			addDefaultImplementation(PersistentMap.class, Map.class);
			addDefaultImplementation(PersistentSortedMap.class, Map.class);
			addDefaultImplementation(PersistentSet.class, Set.class);
			addDefaultImplementation(PersistentSortedSet.class, Set.class);
			addDefaultImplementation(ArrayList.class, List.class);

			registerConverter(new CollectionConverter(getMapper()) {
				@Override
				public boolean canConvert(@SuppressWarnings("rawtypes") Class type) {
					return PersistentList.class == type || PersistentBag.class == type;
				}
			});

			registerConverter(new MapConverter(getMapper()) {
				@Override
				public boolean canConvert(@SuppressWarnings("rawtypes") Class type) {
					return PersistentMap.class == type;
				}
			});
		}
	}
The software does not properly neutralize special elements that are used in XML, allowing attackers to modify the syntax, content, or commands of the XML before it is processed by an end system.