I have a similar problem like you had in BacnetTest. In my project I get an exception when I call "new LocalDevice(1234, transport);". I stepped in up to this point.

private void setPropertyImpl(PropertyIdentifier pid, Encodable value) { Encodable oldValue = properties.get(pid); properties.put(pid, value); if (!ObjectUtils.equals(value, oldValue)) { // Check for subscriptions. if (ObjectCovSubscription.sendCovNotification(id.getObjectType(), pid, this.getCovIncrement())) { synchronized (covSubscriptions) { long now = System.currentTimeMillis(); ObjectCovSubscription sub; for (int i = covSubscriptions.size() - 1; i >= 0; i--) { sub = covSubscriptions.get(i); if (sub.hasExpired(now)) covSubscriptions.remove(i); else if (sub.isNotificationRequired(pid, value)) sendCovNotification(sub, now); } } } } }

The error occurs in the if-statement "ObjectUtils.equals(value, oldValue)". Bizarrely the error doesn't occur in my BacnetTest :-/ Has anybody solved this problem by now?