@Nonnull
    public static String join(@Nonnull Iterable<String> elements, @Nonnull String delimiter) {
        StringBuilder result = new StringBuilder();
        Iterator<String> it = elements.iterator();
        while (it.hasNext()) {
            String element = it.next();
            result.append(element);
            if (it.hasNext()) {
                result.append(delimiter);
            }
        }
        return result.toString();
    }
@ Nonnull public static String join ( @ Nonnull Iterable < String > elements , @ Nonnull String delimiter ) { StringBuilder result = new StringBuilder ( ) ; Iterator < String > it = elements . iterator ( ) ; while ( it . hasNext ( ) ) { String element = it . next ( ) ; result . append ( element ) ; if ( it . hasNext ( ) ) { result . append ( delimiter ) ; } } return result . toString ( ) ; }
Concatenate the given {@code elements} using the given {@code delimiter} to concatenate.