code: @Nonnull
    public ApiFuture<DocumentReference> add(@Nonnull final Map<String, Object> fields) {
      final DocumentReference documentReference = document();
      ApiFuture<WriteResult> createFuture = documentReference.create(fields);
  
      return ApiFutures.transform(
          createFuture,
          new ApiFunction<WriteResult, DocumentReference>() {
            @Override
            public DocumentReference apply(WriteResult writeResult) {
              return documentReference;
            }
          });
    }
docs: Adds a new document to this collection with the specified data, assigning it a document ID
  automatically.
  
  @param fields A Map containing the data for the new document.
  @return An ApiFuture that will be resolved with the DocumentReference of the newly created
  document.
  @see #document()