@Override
 public DeviceKey getDeviceKey(DeviceKeyId deviceKeyId) {
   checkPermission(DEVICE_KEY_READ);
   checkNotNull(deviceKeyId, "Device key identifier cannot be null");
   return store.getDeviceKey(deviceKeyId);
 }
 @Override
 public Collection<DeviceKey> getDeviceKeys() {
   checkPermission(DEVICE_KEY_READ);
   return store.getDeviceKeys();
 }
 @Override
 public void removeKey(DeviceKeyId deviceKeyId) {
   checkNotNull(deviceKeyId, "Device key identifier cannot be null");
   store.deleteDeviceKey(deviceKeyId);
 }
 @Override
 public void addKey(DeviceKey deviceKey) {
   checkNotNull(deviceKey, "Device key cannot be null");
   store.createOrUpdateDeviceKey(deviceKey);
 }
 @Deactivate
 public void deactivate() {
   store.unsetDelegate(delegate);
   eventDispatcher.removeSink(DeviceKeyEvent.class);
   log.info("Stopped");
 }
 @Activate
 public void activate() {
   store.setDelegate(delegate);
   eventDispatcher.addSink(DeviceKeyEvent.class, listenerRegistry);
   log.info("Started");
 }