private String renderTypeName(Generator gen, Type model) {
        final StringBuilder name = new StringBuilder();
        name.append(model.getTypeName().replace('$', '.'));
        
        if (model instanceof ParameterizedType) {
            final ParameterizedType hasTypes = (ParameterizedType) model;
            name.append(
                Stream.of(hasTypes.getActualTypeArguments())
                    .map(gen::on)
                    .map(Optional::get)
                    .collect(joinIfNotEmpty(", ", "<", ">"))
            );
        }
        
        return name.toString();
    }
Renders the type name of the specified type, including any type 
parameters it might have.

@param gen    the generator used
@param model  the model
@return       the rendered type name
common-parent/codegen/src/main/java/com/speedment/common/codegen/internal/java/view/TypeView.java