Validate.notNull(union, "Retrieved a null from context, which is not a valid Drone browser object");
// execute chain to convert callable into browser
if (union.isInstanceCallable()) {
droneLifecycleEvent.fire(new BeforeDroneInstantiated(union, type, qualifier));
}
// return browser
return union.asInstance(type);