/*
  * (non-Javadoc)
  *
  * @see org.eclipse.smarthome.core.thing.binding.BaseThingHandler#dispose()
  */
 @Override
 public void dispose() {
   logger.debug("Disposing MAX! device {} {}.", getThing().getUID(), maxDeviceSerial);
   if (refreshingActuals) {
     refreshActualsRestore();
   }
   if (refreshActualsJob != null && !refreshActualsJob.isCancelled()) {
     refreshActualsJob.cancel(true);
     refreshActualsJob = null;
   }
   if (bridgeHandler != null) {
     logger.trace("Clear MAX! device {} {} from bridge.", getThing().getUID(), maxDeviceSerial);
     bridgeHandler.clearDeviceList();
     bridgeHandler.unregisterDeviceStatusListener(this);
     bridgeHandler = null;
   }
   updateStatus(ThingStatus.OFFLINE);
   logger.debug("Disposed MAX! device {} {}.", getThing().getUID(), maxDeviceSerial);
   super.dispose();
 }