code: func (cgroup *CgroupResource) MarshalJSON() ([]byte, error) {
  	if cgroup == nil {
  		return nil, errors.New("cgroup resource is nil")
  	}
  	return json.Marshal(cgroupResourceJSON{
  		cgroup.cgroupRoot,
  		cgroup.cgroupMountPath,
  		cgroup.GetCreatedAt(),
  		func() *CgroupStatus {
  			desiredState := cgroup.GetDesiredStatus()
  			status := CgroupStatus(desiredState)
  			return &status
  		}(),
  		func() *CgroupStatus {
  			knownState := cgroup.GetKnownStatus()
  			status := CgroupStatus(knownState)
  			return &status
  		}(),
  		cgroup.resourceSpec,
  	})
  }
docs: // MarshalJSON marshals CgroupResource object using duplicate struct CgroupResourceJSON