code: func BuildManagerIdentifier(encodedManager *metav1.ManagedFieldsEntry) (manager string, err error) {
  	encodedManagerCopy := *encodedManager
  
  	// Never include the fields in the manager identifier
  	encodedManagerCopy.Fields = nil
  
  	// For appliers, don't include the APIVersion or Time in the manager identifier,
  	// so it will always have the same manager identifier each time it applied.
  	if encodedManager.Operation == metav1.ManagedFieldsOperationApply {
  		encodedManagerCopy.APIVersion = ""
  		encodedManagerCopy.Time = nil
  	}
  
  	// Use the remaining fields to build the manager identifier
  	b, err := json.Marshal(&encodedManagerCopy)
  	if err != nil {
  		return "", fmt.Errorf("error marshalling manager identifier: %v", err)
  	}
  
  	return string(b), nil
  }
docs: // BuildManagerIdentifier creates a manager identifier string from a ManagedFieldsEntry