code: public static <T, V> String interpose(Iterable<T> values, Iterator<V> separators) {
          dbc.precondition(values != null, "calling interpose with a null iterable");
          return new InterposeStrings<T, V>().apply(values.iterator(), separators);
      }
docs: Creates a string by interposing stringified values from the source iterable with values from the separators. E.g:
  <code>interpose([1,2,3,4,5], ["-", ","]) -> "1-2,3-4,5"</code>
  
  @param <T> the iterable element type
  @param <V> the separator type
  @param values the source iterable
  @param separators the separators
  @return the resulting string