@Override
    public boolean isValueCompatible(FieldValue value) {
        if (!(value instanceof Document doc)) {
            return false;
        }
        if (doc.getDataType().inherits(this)) {
            //the value is of this type; or the supertype of the value is of this type, etc....
            return true;
        }
        return false;
    }
Creates a new document type and registers it with the document type manager.
Implicitly registers this with the document type manager.
The document type id will be generated as a hash from the document type name.

@param name       The name of the new document type
@param contentStructType The type of the content struct
document/src/main/java/com/yahoo/document/DocumentType.java