code: func (s *Scheme) unstructuredToTyped(in Unstructured) (Object, error) {
  	// the type must be something we recognize
  	gvks, _, err := s.ObjectKinds(in)
  	if err != nil {
  		return nil, err
  	}
  	typed, err := s.New(gvks[0])
  	if err != nil {
  		return nil, err
  	}
  	if err := DefaultUnstructuredConverter.FromUnstructured(in.UnstructuredContent(), typed); err != nil {
  		return nil, fmt.Errorf("unable to convert unstructured object to %v: %v", gvks[0], err)
  	}
  	return typed, nil
  }
docs: // unstructuredToTyped attempts to transform an unstructured object to a typed
  // object if possible. It will return an error if conversion is not possible, or the versioned
  // Go form of the object. Note that this conversion will lose fields.