static Type getCollectionType(Type type, int index, Class defaultClass) {
        if (type instanceof ParameterizedType) {
            ParameterizedType parameterizedType = (ParameterizedType) type;

            return parameterizedType.getActualTypeArguments()[index];
        } else {
            return defaultClass;
        }
    }
static Type getCollectionType(Type type, int index, Class defaultClass) {
        if (type instanceof ParameterizedType) {
            ParameterizedType parameterizedType = (ParameterizedType) type;

            return parameterizedType.getActualTypeArguments()[index];
        } else {
            return defaultClass;
        }
    }
static Type getCollectionType ( Type type , int index , Class defaultClass ) { if ( type instanceof ParameterizedType ) { ParameterizedType parameterizedType = ( ParameterizedType ) type ; return parameterizedType . getActualTypeArguments ( ) [ index ] ; } else { return defaultClass ; } }
-------------------------------------------------------------
-------------------------------------------------------------