private boolean shouldSkipMergingAllOf(ObjectNode mainNode, List<ObjectNode> parts, Map<String, List<JsonNode>> fieldsFromAllParts) {
        if (this.config.getSchemaVersion() != SchemaVersion.DRAFT_6 && this.config.getSchemaVersion() != SchemaVersion.DRAFT_7) {
            // later schema versions support mixing a reference with other attributes
            return false;
        }
        if (!fieldsFromAllParts.containsKey(this.config.getKeyword(SchemaKeyword.TAG_REF))) {
            // we are only concerned about references here; if none is present, merging should not be blocked
            return false;
        }
        if (mainNode == null) {
            // if there are multiple parts that could be conflicting, block merging
            return parts.size() > 1;
        }
        // if main node contains more than just the allOf or there are multiple parts that may be conflicting, block merging
        return mainNode.size() > 1 || parts.size() > 2;
    }
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