code: public static HString union(@NonNull HString first, @NonNull HString second, HString... others) {
        return union(Lists.union(Arrays.asList(first, second), Arrays.asList(others)));
     }
docs: Creates a new string by performing a union over the spans of two or more HStrings. The new HString will have a
  span that starts at the minimum starting position of the given strings and end at the maximum ending position of
  the given strings.
  
  @param first  the first HString
  @param second the second HString
  @param others the other HStrings to union
  @return A new HString representing the union over the spans of the given HStrings.