@Override
    public void assign(Object o) {
        doc.assign(o);
    }
note that the returned Field may not be in this Document
directly, but may refer to a field in a struct contained in it,
in which case the returned Field is only useful for obtaining
the field type; it can't be used for get() and set().
docproc/src/main/java/com/yahoo/docproc/proxy/ProxyDocument.java