private void populateMemberSchemaWithInlineCustomDefinition(ObjectNode targetNode, GenericTypeDetails typeDetails,
            ObjectNode collectedMemberAttributes, CustomDefinition customDefinition) {
        if (customDefinition.getValue().isEmpty()) {
            targetNode.withArray(this.getKeyword(SchemaKeyword.TAG_ALLOF))
                    .add(customDefinition.getValue());
        } else {
            targetNode.setAll(customDefinition.getValue());
        }
        if (customDefinition.shouldIncludeAttributes()) {
            AttributeCollector.mergeMissingAttributes(targetNode, collectedMemberAttributes);
            Set<String> allowedSchemaTypes = this.collectAllowedSchemaTypes(targetNode);
            ObjectNode typeAttributes = AttributeCollector.collectTypeAttributes(typeDetails.getScope(), this, allowedSchemaTypes);
            AttributeCollector.mergeMissingAttributes(targetNode, typeAttributes);
        }
        if (typeDetails.isNullable()) {
            this.makeNullable(targetNode);
        }
    }
Preparation Step: combine the collected attributes and the javaType's definition in the given targetNode.

@param <M> type of target scope, i.e. either a field or method
@param targetNode node in the JSON schema that should represent the associated javaType and include the separately collected attributes
@param memberDetails details for field/method to populate schema for
@param collectedMemberAttributes separately collected attribute for the field/method in their respective declaring type
@see #populateFieldSchema(FieldScope)
jsonschema-generator/src/main/java/com/github/victools/jsonschema/generator/impl/SchemaGenerationContextImpl.java