public static HString union(@NonNull HString first, @NonNull HString second, HString... others) {
      return union(Lists.union(Arrays.asList(first, second), Arrays.asList(others)));
   }
public static HString union ( @ NonNull HString first , @ NonNull HString second , HString ... others ) { return union ( Lists . union ( Arrays . asList ( first , second ) , Arrays . asList ( others ) ) ) ; }
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.