// get instance to be destroyed
// if deployment failed, there is nothing to be destroyed
InstanceOrCallableInstance instance = droneContext.get(droneType, qualifier);
if (instance != null) {
log.log(Level.FINEST, "Firing BeforeDroneDestroyed instance: {0}", instance);
droneLifecycleEvent.fire(new BeforeDroneDestroyed(instance, droneType, qualifier));
destroyInstanceIfInstantiated(destructor, instance, droneType, qualifier);
droneContext.remove(droneType, qualifier);
droneLifecycleEvent.fire(new AfterDroneDestroyed(droneType, qualifier));
}