class ForceRemoveRequestHandler extends AbstractRemoveRequestHandler {

   @Override
   public MessageBody handleMessage(PlatformMessage message) throws Exception {
      logger.debug("received a force remove device request: {}", message);
      Device device = loadDevice(message);
      if(device.isLost()) {
         service.delete(device);
      }
      else {
         try {
            sendRemoveRequest(device, 0L, true);
         }
         catch(Exception e) {
            logger.warn("Unable to cleanly remove device {}", message.getSource());
         }
         service.tombstone(device);
      }
      return ForceRemoveResponse.instance();
   }

   @Inject public  ForceRemoveRequestHandler(
         DeviceDAO deviceDao,
         PlatformMessageBus platformBus,
         Set<GroovyDriverPlugin> plugins,
         DeviceService service
   );

}