code: public void rebuildHetero(StaplerRequest req, JSONObject formData, Collection<? extends Descriptor<T>> descriptors, String key) throws FormException, IOException {
          replaceBy(Descriptor.newInstancesFromHeteroList(req,formData,key,descriptors));
      }
docs: Rebuilds the list by creating a fresh instances from the submitted form.
  
  <p>
  This version works with the {@code <f:hetero-list>} UI tag, where the user
  is allowed to create multiple instances of the same descriptor. Order is also
  significant.