code: public final Document updateDocument(Document document, DocumentMask updateMask) {
  
      UpdateDocumentRequest request =
          UpdateDocumentRequest.newBuilder().setDocument(document).setUpdateMask(updateMask).build();
      return updateDocument(request);
    }
docs: Updates or inserts a document.
  
  <p>Sample code:
  
  <pre><code>
  try (FirestoreClient firestoreClient = FirestoreClient.create()) {
  Document document = Document.newBuilder().build();
  DocumentMask updateMask = DocumentMask.newBuilder().build();
  Document response = firestoreClient.updateDocument(document, updateMask);
  }
  </code></pre>
  
  @param document The updated document. Creates the document if it does not already exist.
  @param updateMask The fields to update. None of the field paths in the mask may contain a
  reserved name.
  <p>If the document exists on the server and has fields not referenced in the mask, they are
  left unchanged. Fields referenced in the mask, but not present in the input document, are
  deleted from the document on the server.
  @throws com.google.api.gax.rpc.ApiException if the remote call fails