Update: Ok, this module tries finding an oject in various ways on Exchange, by UniqueIdForUrl, Url and Uid. But it looks like the library is not very robust when it comes to handling null values when looking up objects. You can fix this by checking whether these properties are null before actually calling the Exchange library to look them up. You can fix this by adding guards in front of the connector calls, like:
if (genericObject.getUrl() != null)
contactDTO = connector.getContactByURL(genericObject.getUrl());
instead of just
contactDTO = connector.getContactByURL(genericObject.getUrl());
You will have to do this for all 3 attributes and for each type of object (email, contact, calendar item, task)
Update: I just emailed you the updated code, had to do it anyway :)