@SuppressWarnings({ "rawtypes", "unchecked" })
private Object constructDrone(Method method, Class<?> type, Class<? extends Annotation> qualifier) {
DroneRegistry regs = registry.get();
ArquillianDescriptor desc = arquillianDescriptor.get();
Configurator configurator = regs.getConfiguratorFor(type);
Instantiator instantiator = regs.getInstantiatorFor(type);
// store in map if not stored already
DroneContext dc = methodContext.get().getOrCreate(method);
DroneConfiguration configuration = configurator.createConfiguration(desc, qualifier);
dc.add(configuration.getClass(), qualifier, configuration);
Object instance = instantiator.createInstance(configuration);
dc.add(type, qualifier, instance);