public static boolean isCollection( String fieldName, Object object, Class<?> type, Class<? extends Annotation> annotation ) { Field field; field = _findField( object.getClass(), fieldName ); if ( field == null ) { return false; } if ( annotation != null ) { if ( !field.isAnnotationPresent( annotation ) ) { return false; } } try { if ( Collection.class.isAssignableFrom( field.getType() ) ) { ParameterizedType parameterizedType = (ParameterizedType) field.getGenericType(); Type[] actualTypeArguments = parameterizedType.getActualTypeArguments(); if ( actualTypeArguments.length > 0 ) { if ( type.isAssignableFrom( (Class<?>) actualTypeArguments[0] ) ) {