code: func DecodeList(objects []Object, decoders ...ObjectDecoder) []error {
  	errs := []error(nil)
  	for i, obj := range objects {
  		switch t := obj.(type) {
  		case *Unknown:
  			for _, decoder := range decoders {
  				gv, err := unversioned.ParseGroupVersion(t.APIVersion)
  				if err != nil {
  					errs = append(errs, err)
  					break
  				}
  
  				if !decoder.Recognizes(gv.WithKind(t.Kind)) {
  					continue
  				}
  				obj, err := Decode(decoder, t.RawJSON)
  				if err != nil {
  					errs = append(errs, err)
  					break
  				}
  				objects[i] = obj
  				break
  			}
  		}
  	}
  	return errs
  }
docs: // DecodeList alters the list in place, attempting to decode any objects found in
  // the list that have the runtime.Unknown type. Any errors that occur are returned
  // after the entire list is processed. Decoders are tried in order.