public static Object buildGenericType(final Class<?> mainClass, final Class<?> assignableClass, final Object... parameters) throws CoreException {
        return buildGenericType(mainClass, new Class<?>[] { assignableClass }, parameters);
    }
public static Object buildGenericType ( final Class < ? > mainClass , final Class < ? > assignableClass , final Object ... parameters ) throws CoreException { return buildGenericType ( mainClass , new Class < ? > [ ] { assignableClass } , parameters ) ; }
Build the nth generic type of a class.

@param mainClass The main class used (that contain at least one generic type)
@param assignableClass the parent type of the generic to build
@param parameters used by the constructor of the generic type

@return a new instance of the generic type

@throws CoreException if the instantiation fails