@CheckReturnValue @Nonnull public static String join(@Nonnull Collection<String> s,@Nonnull String delimiter){
  StringBuilder buffer=new StringBuilder();
  Iterator<String> iter=s.iterator();
  while (iter.hasNext()) {
    buffer.append(iter.next());
    if (iter.hasNext()) {
      buffer.append(delimiter);
    }
  }
  return buffer.toString();
}

@ CheckReturnValue @ Nonnull public static String join ( @ Nonnull Collection < String > s , @ Nonnull String delimiter ) { StringBuilder buffer = new StringBuilder ( ) ; Iterator < String > iter = s . iterator ( ) ; while ( iter . hasNext ( ) ) { buffer . append ( iter . next ( ) ) ; if ( iter . hasNext ( ) ) { buffer . append ( delimiter ) ; } } return buffer . toString ( ) ; }
join a collection of strings , separated by a delimiter
