code: @Nonnull
    public static SetOptions mergeFields(List<String> fields) {
      List<FieldPath> fieldPaths = new ArrayList<>();
  
      for (String field : fields) {
        fieldPaths.add(FieldPath.fromDotSeparatedString(field));
      }
  
      return new SetOptions(true, fieldPaths);
    }
docs: Changes the behavior of set() calls to only replace the fields under fieldPaths. Any field that
  is not specified in fieldPaths is ignored and remains untouched.
  
  <p>It is an error to pass a SetOptions object to a set() call that is missing a value for any
  of the fields specified here.
  
  @param fields The list of fields to merge. Fields can contain dots to reference nested fields
  within the document.