public static FieldUpdate createMap(Field field, FieldValue value, ValueUpdate update) {
        return new FieldUpdate(field, ValueUpdate.createMap(value, update));
    }
Creates a new field update, with one encapsulated value update, which
is able to map an update to a value to a subvalue in an array or a
weighted set. If this update is to be applied to an array, the value parameter must be an integer specifying
the index in the array that the update parameter is to be applied to, and the update parameter must be
compatible with the sub-datatype of the array. If this update is to be applied on a weighted set, the value
parameter must be the key in the set that the update parameter is to be applied to, and the update parameter
must be compatible with the INT data type.

@param field the field to modify the subvalue of
@param value the index in case of array, or key in case of weighted set
@param update the update to apply to the target sub-value
@throws IllegalArgumentException in case data type is an array type and value is not an Integer; in case data type is a weighted set type and value is not equal to the nested type of the weighted set; or the encapsulated update throws such an exception
@throws UnsupportedOperationException if superType is a single-value type, or anything else than array or weighted set; or the encapsulated update throws such an exception
@return a FieldUpdate specifying the sub-update
@see ValueUpdate#createMap(FieldValue, ValueUpdate)
document/src/main/java/com/yahoo/document/update/FieldUpdate.java