@Override
    public int hashCode() {
        if (this.hash == null) {
            this.hash = Objects.hash(type, optional, defaultValue, fields, keySchema, valueSchema, name, version, doc,
                parameters);
        }
        return this.hash;
    }
Validate that the value can be used for this schema, i.e. that its type matches the schema type and optional
requirements. Throws a {@link DataException} if the value is invalid.
@param value the value to validate
connect/api/src/main/java/org/apache/kafka/connect/data/ConnectSchema.java