code: public static StringBinding join(final ObservableList<?> items, final ObservableValue<String> delimiter) {
          return Bindings.createStringBinding(() -> items.stream().map(String::valueOf).collect(Collectors.joining(delimiter.getValue())), items, delimiter);
      }
docs: Creates a string binding that constructs a sequence of characters separated by a delimiter.
  
  @param items     the observable list of items.
  @param delimiter the sequence of characters to be used between each element.
  
  @return a string binding.