private void validate()

in src/main/java/com/epam/eco/commons/avro/converter/DefaultAvroConverters.java [394:417]


        private void validate(Map<String, Object> value, Schema schema) {
            List<Field> schemaFields = schema.getFields();

            List<String> fieldsDisjunction = new ArrayList<>();
            for (Field schemaField : schemaFields) {
                if (!value.containsKey(schemaField.name()) && !isUnionWithNull(schemaField)) {
                    fieldsDisjunction.add(schemaField.name());
                }
            }

            List<String> schemaFieldsNames = schemaFields.stream()
                    .map(Field::name)
                    .toList();
            for (String valueName : value.keySet()) {
                if (!schemaFieldsNames.contains(valueName)) {
                    fieldsDisjunction.add(valueName);
                }
            }

            if (!fieldsDisjunction.isEmpty()) {
                String message = String.join(", ", fieldsDisjunction);
                throw new AvroConversionException(value, schema, "Fields disjunction: " + message);
            }
        }