private String getDefinitionNameForType(ResolvedType type) {
            Class<?> erasedType = type.getErasedType();
            String definitionName = erasedType.getSimpleName();
            if (definitionName.endsWith(this.typeSuffixToIgnore) && definitionName.length() > this.typeSuffixToIgnore.length()) {
                definitionName = definitionName.substring(0, definitionName.length() - this.typeSuffixToIgnore.length());
            }
            List<ResolvedType> typeParameters = type.getTypeParameters();
            if (!typeParameters.isEmpty()) {
                definitionName += typeParameters.stream()
                        .map(this::getDefinitionNameForType)
                        .collect(Collectors.joining(", ", "<", ">"));
            }
            return definitionName;
        }
Example created in response to <a href="https://github.com/victools/jsonschema-generator/issues/505">#505</a>.
<br/>
Demonstrating usage of the {@code SchemaDefinitionNamingStrategy} feature.
jsonschema-examples/src/main/java/com/github/victools/jsonschema/examples/NamingStrategyExample.java