} else {
return (Collection) converter.instanceOfType();
}
} else if (Queue.class.isAssignableFrom(parameterType)) {
if (ArrayBlockingQueue.class.isAssignableFrom(parameterType)) {
return new ArrayBlockingQueue(100);
}
return (Collection) (parameterType.isInterface()
|| Modifier.isAbstract(parameterType.getModifiers()) ? new LinkedBlockingQueue()
: parameterType.newInstance());
} else if (Collection.class.isAssignableFrom(parameterType)) {