FieldPathIteratorHandler.ModificationStatus iterateNested(FieldPath fieldPath, int pos, FieldPathIteratorHandler handler) {
        if (pos >= fieldPath.size()) {
            handler.onPrimitive(this);
            return handler.modify(this);
        } else {
            throw new IllegalArgumentException("Primitive types can't be iterated through");
        }
    }
Iterates through the document using the given fieldpath, calling callbacks in the given iterator
handler.
document/src/main/java/com/yahoo/document/datatypes/FieldValue.java