code: public UpdateDescription merge(@Nullable final UpdateDescription otherDescription) {
      if (otherDescription != null) {
        for (final Map.Entry<String, BsonValue> entry : this.updatedFields.entrySet()) {
          if (otherDescription.removedFields.contains(entry.getKey())) {
            this.updatedFields.remove(entry.getKey());
          }
        }
        for (final String removedField : this.removedFields) {
          if (otherDescription.updatedFields.containsKey(removedField)) {
            this.removedFields.remove(removedField);
          }
        }
  
        this.removedFields.addAll(otherDescription.removedFields);
        this.updatedFields.putAll(otherDescription.updatedFields);
      }
  
      return this;
    }
docs: Unilaterally merge an update description into this update description.
  @param otherDescription the update description to merge into this
  @return this merged update description