code: public C.List<T> toList() {
          checkState();
          trimToSize();
          Object[] data = buf;
          buf = null;
          return (C.List<T>)ImmutableList.of(data);
      }
docs: Return an immutable list contains all element of this list builder
  and then release references to the internal buffer. The list builder
  is obsolete after calling this method, and calling other building
  method thereafter will trigger {@link IllegalStateException}
  
  @return an immutable list of all element of this builder