final Class<?>[] types = (Class<?>[]) value; for (int i=0; i<types.length; i++) { if (!isCompatibleValue(types[i])) { return false; final Class<?> expected = getValueClass(); if (expected.isAssignableFrom(type)) { return true;
final Class[] types = (Class[]) value; for (int i = 0; i < types.length; i++) { if (!isCompatibleValue(types[i])) { return false; type = value.getClass(); return getValueClass().isAssignableFrom(type);