@Override
    public boolean equals(Object obj) {
        if (this == obj) { return true; }
        else if (obj == null) { return false; }
        else if (!(obj instanceof ParameterizedType)) { return false; }
        
        final ParameterizedType other = (ParameterizedType) obj;
        return Objects.equals(fullName, other.getTypeName())
            && Arrays.deepEquals(parameters, other.getActualTypeArguments());
    }
Creates a new {@code SimpleParameterizedType} referencing the specified 
class in the specified file. These do not have to exist yet.

@param file        the file to reference
@param clazz       the class to reference
@param parameters  list of generic parameters to this type
@return            the new simple type
common-parent/codegen/src/main/java/com/speedment/common/codegen/constant/SimpleParameterizedType.java