code: public static Collector<CharSequence, ?, String> joining() {
          return new CollectorImpl<CharSequence, StringBuilder, String>(
                  StringBuilder::new, StringBuilder::append,
                  (r1, r2) -> { r1.append(r2); return r1; },
                  StringBuilder::toString, CH_NOID);
      }
docs: Returns a {@code Collector} that concatenates the input elements into a
  {@code String}, in encounter order.
  
  @return a {@code Collector} that concatenates the input elements into a
  {@code String}, in encounter order