in modules/aop-ext/src/main/java/org/apache/ignite/internal/util/gridify/GridifyUtils.java [212:238]
public static boolean isMethodParameterTypeAllowed(Class<?> cls) {
for (Class<?> mtdReturnType : ALLOWED_MTD_PARAM_TYPES) {
if (mtdReturnType.equals(cls))
return true;
}
if (cls.isArray())
return true;
int mod = cls.getModifiers();
if (!Modifier.isInterface(mod) && !Modifier.isAbstract(mod) && Collection.class.isAssignableFrom(cls)) {
Constructor[] ctors = cls.getConstructors();
for (Constructor ctor : ctors) {
try {
if (ctor.getParameterTypes().length == 0 && ctor.newInstance() != null)
return true;
}
catch (InstantiationException | InvocationTargetException | IllegalAccessException e) {
// No-op.
}
}
}
return false;
}