diff --git a/src/java/davmail/exchange/XMLStreamUtil.java b/src/java/davmail/exchange/XMLStreamUtil.java index 5c34c45c..fb200715 100644 --- a/src/java/davmail/exchange/XMLStreamUtil.java +++ b/src/java/davmail/exchange/XMLStreamUtil.java @@ -23,8 +23,8 @@ public final class XMLStreamUtil { return inputFactory; } - public static Map> getElementContentsAsMap(InputStream inputStream, String rowName, String idName) throws IOException { - Map> results = new HashMap>(); + public static Map> getElementContentsAsMap(InputStream inputStream, String rowName, String idName) throws IOException { + Map> results = new HashMap>(); Map item = null; String currentElement = null; XMLStreamReader reader = null; @@ -36,7 +36,9 @@ public final class XMLStreamUtil { if (event == XMLStreamConstants.START_ELEMENT && rowName.equals(reader.getLocalName())) { item = new HashMap(); } else if (event == XMLStreamConstants.END_ELEMENT && rowName.equals(reader.getLocalName())) { - results.put(item.get(idName).toLowerCase(),item); + if (item.containsKey(idName)) { + results.put(item.get(idName).toLowerCase(), item); + } item = null; } else if (event == XMLStreamConstants.START_ELEMENT && item != null) { currentElement = reader.getLocalName();