if (((ParameterizedType) targetType).getActualTypeArguments().length > 1) {
throw new MissingDependencyException(key);
}
//TODO this is slow, refactor to cache the type in the key and to reuse the strategy
Key parameterizedKey = Locksmith.makeKey(new ParameterRef() {
@Override
public Type getType() {
return ((ParameterizedType) key.getType()).getActualTypeArguments()[0];
}
}, key.getQualifier());