code: public Tags and(@Nullable Iterable<? extends Tag> tags) {
          if (tags == null || !tags.iterator().hasNext()) {
              return this;
          }
  
          if (this.tags.length == 0) {
              return Tags.of(tags);
          }
  
          return and(Tags.of(tags).tags);
      }
docs: Return a new {@code Tags} instance by merging this collection and the specified tags.
  
  @param tags the tags to add
  @return a new {@code Tags} instance