code: @Nonnull
    public T set(
        @Nonnull DocumentReference documentReference,
        @Nonnull Object pojo,
        @Nonnull SetOptions options) {
      Object data = CustomClassMapper.convertToPlainJavaTypes(pojo);
      if (!(data instanceof Map)) {
        throw new IllegalArgumentException("Can't set a document's data to an array or primitive");
      }
      return performSet(documentReference, (Map<String, Object>) data, options);
    }
docs: Overwrites the document referred to by this DocumentReference. If the document doesn't exist
  yet, it will be created. If you pass {@link SetOptions}, the provided data can be merged into
  an existing document.
  
  @param documentReference The DocumentReference to overwrite.
  @param pojo The POJO that will be used to populate the document contents.
  @param options An object to configure the set behavior.
  @return The instance for chaining.