code: public void setTags(List<String> tags) {
  		if (tags == null) {
  			throw new IllegalArgumentException("Parameter tags must not be null.");
  		}
  
  		for (String tag : tags) {
  			if (!this.tags.contains(tag)) {
  				insertTagDb(tag);
  			}
  		}
  
  		for (String tag : this.tags) {
  			if (!tags.contains(tag)) {
  				deleteTagDb(tag);
  			}
  		}
  
  		this.tags = new ArrayList<>(tags);
  		notifyEvent(HistoryReferenceEventPublisher.EVENT_TAGS_SET);
  	}
docs: Sets the tags for the HTTP message.
  
  @param tags the new tags.
  @throws IllegalArgumentException if the given parameter is {@code null}.
  @since 2.7.0
  @see #addTag(String)
  @see #deleteTag(String)