code: func decodeManagedFields(encodedManagedFields []metav1.ManagedFieldsEntry) (managedFields fieldpath.ManagedFields, err error) {
  	managedFields = make(map[string]*fieldpath.VersionedSet, len(encodedManagedFields))
  	for _, encodedVersionedSet := range encodedManagedFields {
  		manager, err := BuildManagerIdentifier(&encodedVersionedSet)
  		if err != nil {
  			return nil, fmt.Errorf("error decoding manager from %v: %v", encodedVersionedSet, err)
  		}
  		managedFields[manager], err = decodeVersionedSet(&encodedVersionedSet)
  		if err != nil {
  			return nil, fmt.Errorf("error decoding versioned set from %v: %v", encodedVersionedSet, err)
  		}
  	}
  	return managedFields, nil
  }
docs: // decodeManagedFields converts ManagedFields from the wire format (api format)
  // to the format used by sigs.k8s.io/structured-merge-diff