private List<String> getStringValuesFromStringOrStringArray(JsonNode node) {
        List<String> result = new ArrayList<>();
        if (node.isArray()) {
            node.forEach(arrayItem -> result.add(arrayItem.asText(null)));
            if (result.contains(null)) {
                return null;
            }
        } else if (node.isTextual()) {
            result.add(node.asText());
        } else {
            // neither array nor text node; abort merge
            return null;
        }
        return result;
    }
Check whether the merging of the given node and it's allOf entries should be skipped due to a {@link SchemaKeyword#TAG_REF} being present.
Drafts 6 and 7 would ignore any other attributes besides the {@link SchemaKeyword#TAG_REF}.

@param mainNode the main node containing an {@link SchemaKeyword#TAG_ALLOF} array (maybe {@code null})
@param parts entries of the {@link SchemaKeyword#TAG_ALLOF} array to consider
@param fieldsFromAllParts flattened collection of all attributes in the given parts
@return whether to block merging of the given {@link SchemaKeyword#TAG_ALLOF} candidate
jsonschema-generator/src/main/java/com/github/victools/jsonschema/generator/impl/SchemaCleanUpUtils.java