code: public static Builder newParserConfigBuilder() {
          return new Builder() {
              boolean used = false;
              CollectionBuilder.Factory listFactory = DEFAULT_LIST_FACTORY;
              CollectionBuilder.Factory vectorFactory = DEFAULT_VECTOR_FACTORY;
              CollectionBuilder.Factory setFactory = DEFAULT_SET_FACTORY;
              CollectionBuilder.Factory mapFactory = DEFAULT_MAP_FACTORY;
              Map<Tag, TagHandler> tagHandlers = defaultTagHandlers();
  
              public Builder setListFactory(CollectionBuilder.Factory listFactory) {
                  checkState();
                  this.listFactory = listFactory;
                  return this;
              }
  
              public Builder setVectorFactory(CollectionBuilder.Factory vectorFactory) {
                  checkState();
                  this.vectorFactory = vectorFactory;
                  return this;
              }
  
              public Builder setSetFactory(CollectionBuilder.Factory setFactory) {
                  checkState();
                  this.setFactory = setFactory;
                  return this;
              }
  
              public Builder setMapFactory(CollectionBuilder.Factory mapFactory) {
                  checkState();
                  this.mapFactory = mapFactory;
                  return this;
              }
  
              public Builder putTagHandler(Tag tag, TagHandler handler) {
                  checkState();
                  this.tagHandlers.put(tag, handler);
                  return this;
              }
  
              public Config build() {
                  checkState();
                  used = true;
                  return new Config() {
                      public Factory getListFactory() {
                          return listFactory;
                      }
  
                      public Factory getVectorFactory() {
                          return vectorFactory;
                      }
  
                      public Factory getSetFactory() {
                          return setFactory;
                      }
  
                      public Factory getMapFactory() {
                          return mapFactory;
                      }
  
                      public TagHandler getTagHandler(Tag tag) {
                          return tagHandlers.get(tag);
                      }
                  };
              }
  
              private void checkState() {
                  if (used) {
                      throw new IllegalStateException(
                              "Builder is single-use. Not usable after build()");
                  }
              }
          };
      }
docs: Return a new {@link Parser.Config.Builder}.
  
  @return a new {@link Parser.Config.Builder}, never null.