code: private static List<List<String>> sortedTagUnion(@Nullable List<List<String>> existingTags, List<String> sortedNewTagList) {
  
          // Optimize for the common case where for each coordinate there is exactly one event or that all events
          // use the same tags (typically the empty set)
          if (existingTags == null) {
              if (sortedNewTagList.isEmpty()) {
                  return EMPTY_TAGS;
              }
              existingTags = Lists.newArrayListWithCapacity(3);
              existingTags.add(sortedNewTagList);
              return existingTags;
          }
  
          int insertionPoint = Collections.binarySearch(existingTags, sortedNewTagList, TAG_LIST_COMPARATOR);
          if (insertionPoint >= 0) {
              // Existing tags already includes this set of tags
              return existingTags;
          }
  
          if (existingTags == EMPTY_TAGS) {
              // Can't update the default empty tag set.  Make a copy.
              existingTags = Lists.newArrayListWithCapacity(3);
              existingTags.addAll(EMPTY_TAGS);
          }
  
          insertionPoint = -insertionPoint - 1;
          existingTags.add(insertionPoint, sortedNewTagList);
          return existingTags;
      }
docs: Produces a list-of-lists for all unique tag sets for a given databus event.  <code>existingTags</code> must either
  be null or the result of a previous call to {@link #sortedTagUnion(java.util.List, java.util.List)} or
  {@link #sortedTagUnion(java.util.List, java.util.Set)}.  Additionally the contents of <code>sortedNewTagList</code>
  must already be sorted prior to this method call.