code: public static <E, T extends Collection<E>> T unmarshallCollectionUnbounded(ObjectInput in, UnboundedCollectionBuilder<E, T> builder) throws IOException, ClassNotFoundException {
        final int size = unmarshallSize(in);
        if (size == NULL_VALUE) {
           return null;
        }
        T collection = Objects.requireNonNull(builder, "UnboundedCollectionBuilder must be non-null").build();
        for (int i = 0; i < size; ++i) {
           //noinspection unchecked
           collection.add((E) in.readObject());
        }
        return collection;
     }
docs: Same as {@link #unmarshallCollection(ObjectInput, CollectionBuilder)}.
  <p>
  Used when the size of the {@link Collection} is not needed for it construction.
  
  @see #unmarshallCollection(ObjectInput, CollectionBuilder).