String rawTypeName = type.substring(0, bracket);
JType rawType = parseImpl(rawTypeName);
if (rawType.isParameterized() != null) {
// The raw type cannot itself be parameterized.
//
throw new BadTypeArgsException(
"Only non-parameterized classes and interface can be parameterized");
} else if (rawType.isClassOrInterface() == null) {
// The raw type must be a class or interface
// (not an array or primitive).
//
throw new BadTypeArgsException("Only classes and interface can be parameterized, so "
+ rawType.getQualifiedSourceName() + " cannot be used in this context");
} else if (rawType.isGenericType() == null) {
throw new BadTypeArgsException("'" + rawType.getQualifiedSourceName()
+ "' is not a generic type; only generic types can be parameterized");
}
// Resolve each type argument.
//