class ObjectUtils {

    public static <T> String join( Collection<T> collection, String separator, Function<T, String> stringMapper )
    {
        if ( collection == null )
        {
            return null;
        }

        List<String> list = collection.stream().map( stringMapper ).collect( Collectors.toList() );

        return StringUtils.join( list, separator );
    }

}