/// <summary> /// Creates a union of two or more FieldMasks. /// </summary> public FieldMask Union(params FieldMask[] otherMasks) { var maskTree = new FieldMaskTree(this); foreach (var mask in otherMasks) { maskTree.MergeFromFieldMask(mask); } return(maskTree.ToFieldMask()); }
/// <summary> /// Calculates the intersection of two FieldMasks. /// </summary> public FieldMask Intersection(FieldMask additionalMask) { var tree = new FieldMaskTree(this); var result = new FieldMaskTree(); foreach (var path in additionalMask.Paths) { tree.IntersectFieldPath(path, result); } return(result.ToFieldMask()); }