code: @NotNull
      public static <T> Collector<T, ?, List<T>> toList() {
          return new CollectorsImpl<T, List<T>, List<T>>(
  
                  new Supplier<List<T>>() {
                      @NotNull
                      @Override
                      public List<T> get() {
                          return new ArrayList<T>();
                      }
                  },
  
                  new BiConsumer<List<T>, T>() {
                      @Override
                      public void accept(@NotNull List<T> t, T u) {
                          t.add(u);
                      }
                  }
          );
      }
docs: Returns a {@code Collector} that fills new {@code List} with input elements.
  
  @param <T> the type of the input elements
  @return a {@code Collector}