public static String simpleName(final @NonNull Type type) {
        final String simpleName = GenericTypeReflector.erase(type).getSimpleName();
        if (type instanceof ParameterizedType) {
            final String paramTypes = Arrays.stream(((ParameterizedType) type).getActualTypeArguments())
                    .map(TypeUtils::simpleName)
                    .collect(Collectors.joining(", "));
            return simpleName + '<' + paramTypes + '>';
        }
        return simpleName;
    }
Get the simple name for a possibly generic type.

@param type type
@return simple name
cloud-core/src/main/java/org/incendo/cloud/util/TypeUtils.java